<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-pragma">{-# LANGUAGE OverloadedStrings #-}</span><span>
</span><span id="line-2"></span><span class="hs-comment">-----------------------------------------------------------------------------</span><span>
</span><span id="line-3"></span><span class="hs-comment">-- |</span><span>
</span><span id="line-4"></span><span class="hs-comment">-- Module      :  Distribution.PackageDescription.PrettyPrint</span><span>
</span><span id="line-5"></span><span class="hs-comment">-- Copyright   :  J&#252;rgen Nicklisch-Franken 2010</span><span>
</span><span id="line-6"></span><span class="hs-comment">-- License     :  BSD3</span><span>
</span><span id="line-7"></span><span class="hs-comment">--</span><span>
</span><span id="line-8"></span><span class="hs-comment">-- Maintainer  : cabal-devel@haskell.org</span><span>
</span><span id="line-9"></span><span class="hs-comment">-- Stability   : provisional</span><span>
</span><span id="line-10"></span><span class="hs-comment">-- Portability : portable</span><span>
</span><span id="line-11"></span><span class="hs-comment">--</span><span>
</span><span id="line-12"></span><span class="hs-comment">-- Pretty printing for cabal files</span><span>
</span><span id="line-13"></span><span class="hs-comment">--</span><span>
</span><span id="line-14"></span><span class="hs-comment">-----------------------------------------------------------------------------</span><span>
</span><span id="line-15"></span><span>
</span><span id="line-16"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">Distribution.PackageDescription.PrettyPrint</span><span> </span><span class="hs-special">(</span><span>
</span><span id="line-17"></span><span>    </span><span class="annot"><span class="hs-comment">-- * Generic package descriptions</span></span><span>
</span><span id="line-18"></span><span>    </span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#writeGenericPackageDescription"><span class="hs-identifier">writeGenericPackageDescription</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-19"></span><span>    </span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#showGenericPackageDescription"><span class="hs-identifier">showGenericPackageDescription</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-20"></span><span>    </span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#ppGenericPackageDescription"><span class="hs-identifier">ppGenericPackageDescription</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-21"></span><span>
</span><span id="line-22"></span><span>    </span><span class="annot"><span class="hs-comment">-- * Package descriptions</span></span><span>
</span><span id="line-23"></span><span>     </span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#writePackageDescription"><span class="hs-identifier">writePackageDescription</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-24"></span><span>     </span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#showPackageDescription"><span class="hs-identifier">showPackageDescription</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-25"></span><span>
</span><span id="line-26"></span><span>     </span><span class="annot"><span class="hs-comment">-- ** Supplementary build information</span></span><span>
</span><span id="line-27"></span><span>     </span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#writeHookedBuildInfo"><span class="hs-identifier">writeHookedBuildInfo</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-28"></span><span>     </span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#showHookedBuildInfo"><span class="hs-identifier">showHookedBuildInfo</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-29"></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-30"></span><span>
</span><span id="line-31"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Compat.Prelude.html"><span class="hs-identifier">Distribution.Compat.Prelude</span></a></span><span>
</span><span id="line-32"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../base/src/Prelude.html#"><span class="hs-identifier">Prelude</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-33"></span><span>
</span><span id="line-34"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.CabalSpecVersion.html"><span class="hs-identifier">Distribution.CabalSpecVersion</span></a></span><span>
</span><span id="line-35"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Fields.Pretty.html"><span class="hs-identifier">Distribution.Fields.Pretty</span></a></span><span>
</span><span id="line-36"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Compat.Lens.html"><span class="hs-identifier">Distribution.Compat.Lens</span></a></span><span>
</span><span id="line-37"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.PackageDescription.html"><span class="hs-identifier">Distribution.PackageDescription</span></a></span><span>
</span><span id="line-38"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Pretty.html"><span class="hs-identifier">Distribution.Pretty</span></a></span><span>
</span><span id="line-39"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.Utils.html"><span class="hs-identifier">Distribution.Simple.Utils</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Utils.Generic.html#writeFileAtomic"><span class="hs-identifier">writeFileAtomic</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Utils.Generic.html#writeUTF8File"><span class="hs-identifier">writeUTF8File</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-40"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Types.Mixin.html"><span class="hs-identifier">Distribution.Types.Mixin</span></a></span><span>                      </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.Mixin.html#Mixin"><span class="hs-identifier">Mixin</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Types.Mixin.html#mkMixin"><span class="hs-identifier">mkMixin</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-41"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.FieldGrammar.html"><span class="hs-identifier">Distribution.FieldGrammar</span></a></span><span>                     </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.FieldGrammar.html#PrettyFieldGrammar%27"><span class="hs-identifier">PrettyFieldGrammar'</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.FieldGrammar.Pretty.html#prettyFieldGrammar"><span class="hs-identifier">prettyFieldGrammar</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-42"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.PackageDescription.Configuration.html"><span class="hs-identifier">Distribution.PackageDescription.Configuration</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.PackageDescription.Configuration.html#transformAllBuildInfos"><span class="hs-identifier">transformAllBuildInfos</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-43"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.PackageDescription.FieldGrammar.html"><span class="hs-identifier">Distribution.PackageDescription.FieldGrammar</span></a></span><span>
</span><span id="line-44"></span><span>       </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.PackageDescription.FieldGrammar.html#benchmarkFieldGrammar"><span class="hs-identifier">benchmarkFieldGrammar</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.PackageDescription.FieldGrammar.html#buildInfoFieldGrammar"><span class="hs-identifier">buildInfoFieldGrammar</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.PackageDescription.FieldGrammar.html#executableFieldGrammar"><span class="hs-identifier">executableFieldGrammar</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.PackageDescription.FieldGrammar.html#flagFieldGrammar"><span class="hs-identifier">flagFieldGrammar</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.PackageDescription.FieldGrammar.html#foreignLibFieldGrammar"><span class="hs-identifier">foreignLibFieldGrammar</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.PackageDescription.FieldGrammar.html#libraryFieldGrammar"><span class="hs-identifier">libraryFieldGrammar</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-45"></span><span>       </span><span class="annot"><a href="Distribution.PackageDescription.FieldGrammar.html#packageDescriptionFieldGrammar"><span class="hs-identifier">packageDescriptionFieldGrammar</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.PackageDescription.FieldGrammar.html#setupBInfoFieldGrammar"><span class="hs-identifier">setupBInfoFieldGrammar</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.PackageDescription.FieldGrammar.html#sourceRepoFieldGrammar"><span class="hs-identifier">sourceRepoFieldGrammar</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.PackageDescription.FieldGrammar.html#testSuiteFieldGrammar"><span class="hs-identifier">testSuiteFieldGrammar</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-46"></span><span>
</span><span id="line-47"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="Distribution.PackageDescription.FieldGrammar.html"><span class="hs-identifier">Distribution.PackageDescription.FieldGrammar</span></a></span><span> </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">FG</span></span><span>
</span><span id="line-48"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="Distribution.Types.BuildInfo.Lens.html"><span class="hs-identifier">Distribution.Types.BuildInfo.Lens</span></a></span><span>                 </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">L</span></span><span>
</span><span id="line-49"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="Distribution.Types.SetupBuildInfo.Lens.html"><span class="hs-identifier">Distribution.Types.SetupBuildInfo.Lens</span></a></span><span>            </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">L</span></span><span>
</span><span id="line-50"></span><span>
</span><span id="line-51"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../pretty/src/Text.PrettyPrint.html#"><span class="hs-identifier">Text.PrettyPrint</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../pretty/src/Text.PrettyPrint.HughesPJ.html#Doc"><span class="hs-identifier">Doc</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../pretty/src/Text.PrettyPrint.HughesPJ.html#char"><span class="hs-identifier">char</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../pretty/src/Text.PrettyPrint.HughesPJ.html#hsep"><span class="hs-identifier">hsep</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../pretty/src/Text.PrettyPrint.HughesPJ.html#parens"><span class="hs-identifier">parens</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../pretty/src/Text.PrettyPrint.HughesPJ.html#text"><span class="hs-identifier">text</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-52"></span><span>
</span><span id="line-53"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="../../bytestring/src/Data.ByteString.Lazy.Char8.html#"><span class="hs-identifier">Data.ByteString.Lazy.Char8</span></a></span><span>      </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">BS.Char8</span></span><span>
</span><span id="line-54"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="Distribution.Compat.NonEmptySet.html"><span class="hs-identifier">Distribution.Compat.NonEmptySet</span></a></span><span> </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">NES</span></span><span>
</span><span id="line-55"></span><span>
</span><span id="line-56"></span><span class="hs-comment">-- | Writes a .cabal file from a generic package description</span><span>
</span><span id="line-57"></span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#writeGenericPackageDescription"><span class="hs-identifier hs-type">writeGenericPackageDescription</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.GenericPackageDescription.html#GenericPackageDescription"><span class="hs-identifier hs-type">GenericPackageDescription</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-58"></span><span id="writeGenericPackageDescription"><span class="annot"><span class="annottext">writeGenericPackageDescription :: String -&gt; GenericPackageDescription -&gt; IO ()
</span><a href="Distribution.PackageDescription.PrettyPrint.html#writeGenericPackageDescription"><span class="hs-identifier hs-var hs-var">writeGenericPackageDescription</span></a></span></span><span> </span><span id="local-6989586621679701394"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679701394"><span class="hs-identifier hs-var">fpath</span></a></span></span><span> </span><span id="local-6989586621679701393"><span class="annot"><span class="annottext">GenericPackageDescription
</span><a href="#local-6989586621679701393"><span class="hs-identifier hs-var">pkg</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; IO ()
</span><a href="Distribution.Utils.Generic.html#writeUTF8File"><span class="hs-identifier hs-var">writeUTF8File</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679701394"><span class="hs-identifier hs-var">fpath</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">GenericPackageDescription -&gt; String
</span><a href="Distribution.PackageDescription.PrettyPrint.html#showGenericPackageDescription"><span class="hs-identifier hs-var">showGenericPackageDescription</span></a></span><span> </span><span class="annot"><span class="annottext">GenericPackageDescription
</span><a href="#local-6989586621679701393"><span class="hs-identifier hs-var">pkg</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-59"></span><span>
</span><span id="line-60"></span><span class="hs-comment">-- | Writes a generic package description to a string</span><span>
</span><span id="line-61"></span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#showGenericPackageDescription"><span class="hs-identifier hs-type">showGenericPackageDescription</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.GenericPackageDescription.html#GenericPackageDescription"><span class="hs-identifier hs-type">GenericPackageDescription</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-62"></span><span id="showGenericPackageDescription"><span class="annot"><span class="annottext">showGenericPackageDescription :: GenericPackageDescription -&gt; String
</span><a href="Distribution.PackageDescription.PrettyPrint.html#showGenericPackageDescription"><span class="hs-identifier hs-var hs-var">showGenericPackageDescription</span></a></span></span><span> </span><span id="local-6989586621679701392"><span class="annot"><span class="annottext">GenericPackageDescription
</span><a href="#local-6989586621679701392"><span class="hs-identifier hs-var">gpd</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(() -&gt; [String]) -&gt; [PrettyField ()] -&gt; String
forall ann. (ann -&gt; [String]) -&gt; [PrettyField ann] -&gt; String
</span><a href="Distribution.Fields.Pretty.html#showFields"><span class="hs-identifier hs-var">showFields</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[String] -&gt; () -&gt; [String]
forall a b. a -&gt; b -&gt; a
</span><a href="../../base/src/GHC.Base.html#const"><span class="hs-identifier hs-var">const</span></a></span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">([PrettyField ()] -&gt; String) -&gt; [PrettyField ()] -&gt; String
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion -&gt; GenericPackageDescription -&gt; [PrettyField ()]
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppGenericPackageDescription"><span class="hs-identifier hs-var">ppGenericPackageDescription</span></a></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="#local-6989586621679701389"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="annot"><span class="annottext">GenericPackageDescription
</span><a href="#local-6989586621679701392"><span class="hs-identifier hs-var">gpd</span></a></span><span>
</span><span id="line-63"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-64"></span><span>    </span><span id="local-6989586621679701389"><span class="annot"><span class="annottext">v :: CabalSpecVersion
</span><a href="#local-6989586621679701389"><span class="hs-identifier hs-var hs-var">v</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageDescription -&gt; CabalSpecVersion
</span><a href="Distribution.Types.PackageDescription.html#specVersion"><span class="hs-identifier hs-var hs-var">specVersion</span></a></span><span> </span><span class="annot"><span class="annottext">(PackageDescription -&gt; CabalSpecVersion)
-&gt; PackageDescription -&gt; CabalSpecVersion
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">GenericPackageDescription -&gt; PackageDescription
</span><a href="Distribution.Types.GenericPackageDescription.html#packageDescription"><span class="hs-identifier hs-var hs-var">packageDescription</span></a></span><span> </span><span class="annot"><span class="annottext">GenericPackageDescription
</span><a href="#local-6989586621679701392"><span class="hs-identifier hs-var">gpd</span></a></span><span>
</span><span id="line-65"></span><span>
</span><span id="line-66"></span><span class="hs-comment">-- | Convert a generic package description to 'PrettyField's.</span><span>
</span><span id="line-67"></span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#ppGenericPackageDescription"><span class="hs-identifier hs-type">ppGenericPackageDescription</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.CabalSpecVersion.html#CabalSpecVersion"><span class="hs-identifier hs-type">CabalSpecVersion</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.GenericPackageDescription.html#GenericPackageDescription"><span class="hs-identifier hs-type">GenericPackageDescription</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Distribution.Fields.Pretty.html#PrettyField"><span class="hs-identifier hs-type">PrettyField</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span class="hs-special">]</span><span>
</span><span id="line-68"></span><span id="ppGenericPackageDescription"><span class="annot"><span class="annottext">ppGenericPackageDescription :: CabalSpecVersion -&gt; GenericPackageDescription -&gt; [PrettyField ()]
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppGenericPackageDescription"><span class="hs-identifier hs-var hs-var">ppGenericPackageDescription</span></a></span></span><span> </span><span id="local-6989586621679701386"><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="#local-6989586621679701386"><span class="hs-identifier hs-var">v</span></a></span></span><span> </span><span id="local-6989586621679701385"><span class="annot"><span class="annottext">GenericPackageDescription
</span><a href="#local-6989586621679701385"><span class="hs-identifier hs-var">gpd0</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[[PrettyField ()]] -&gt; [PrettyField ()]
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span>
</span><span id="line-69"></span><span>    </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion -&gt; PackageDescription -&gt; [PrettyField ()]
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppPackageDescription"><span class="hs-identifier hs-var">ppPackageDescription</span></a></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="#local-6989586621679701386"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">GenericPackageDescription -&gt; PackageDescription
</span><a href="Distribution.Types.GenericPackageDescription.html#packageDescription"><span class="hs-identifier hs-var hs-var">packageDescription</span></a></span><span> </span><span class="annot"><span class="annottext">GenericPackageDescription
</span><a href="#local-6989586621679701382"><span class="hs-identifier hs-var">gpd</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-70"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion -&gt; Maybe SetupBuildInfo -&gt; [PrettyField ()]
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppSetupBInfo"><span class="hs-identifier hs-var">ppSetupBInfo</span></a></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="#local-6989586621679701386"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; Maybe SetupBuildInfo
</span><a href="Distribution.Types.PackageDescription.html#setupBuildInfo"><span class="hs-identifier hs-var hs-var">setupBuildInfo</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">GenericPackageDescription -&gt; PackageDescription
</span><a href="Distribution.Types.GenericPackageDescription.html#packageDescription"><span class="hs-identifier hs-var hs-var">packageDescription</span></a></span><span> </span><span class="annot"><span class="annottext">GenericPackageDescription
</span><a href="#local-6989586621679701382"><span class="hs-identifier hs-var">gpd</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-71"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion -&gt; [PackageFlag] -&gt; [PrettyField ()]
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppGenPackageFlags"><span class="hs-identifier hs-var">ppGenPackageFlags</span></a></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="#local-6989586621679701386"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">GenericPackageDescription -&gt; [PackageFlag]
</span><a href="Distribution.Types.GenericPackageDescription.html#genPackageFlags"><span class="hs-identifier hs-var hs-var">genPackageFlags</span></a></span><span> </span><span class="annot"><span class="annottext">GenericPackageDescription
</span><a href="#local-6989586621679701382"><span class="hs-identifier hs-var">gpd</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-72"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
-&gt; Maybe (CondTree ConfVar [Dependency] Library)
-&gt; [PrettyField ()]
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppCondLibrary"><span class="hs-identifier hs-var">ppCondLibrary</span></a></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="#local-6989586621679701386"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">GenericPackageDescription
-&gt; Maybe (CondTree ConfVar [Dependency] Library)
</span><a href="Distribution.Types.GenericPackageDescription.html#condLibrary"><span class="hs-identifier hs-var hs-var">condLibrary</span></a></span><span> </span><span class="annot"><span class="annottext">GenericPackageDescription
</span><a href="#local-6989586621679701382"><span class="hs-identifier hs-var">gpd</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-73"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
-&gt; [(UnqualComponentName, CondTree ConfVar [Dependency] Library)]
-&gt; [PrettyField ()]
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppCondSubLibraries"><span class="hs-identifier hs-var">ppCondSubLibraries</span></a></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="#local-6989586621679701386"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">GenericPackageDescription
-&gt; [(UnqualComponentName, CondTree ConfVar [Dependency] Library)]
</span><a href="Distribution.Types.GenericPackageDescription.html#condSubLibraries"><span class="hs-identifier hs-var hs-var">condSubLibraries</span></a></span><span> </span><span class="annot"><span class="annottext">GenericPackageDescription
</span><a href="#local-6989586621679701382"><span class="hs-identifier hs-var">gpd</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-74"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
-&gt; [(UnqualComponentName,
     CondTree ConfVar [Dependency] ForeignLib)]
-&gt; [PrettyField ()]
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppCondForeignLibs"><span class="hs-identifier hs-var">ppCondForeignLibs</span></a></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="#local-6989586621679701386"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">GenericPackageDescription
-&gt; [(UnqualComponentName,
     CondTree ConfVar [Dependency] ForeignLib)]
</span><a href="Distribution.Types.GenericPackageDescription.html#condForeignLibs"><span class="hs-identifier hs-var hs-var">condForeignLibs</span></a></span><span> </span><span class="annot"><span class="annottext">GenericPackageDescription
</span><a href="#local-6989586621679701382"><span class="hs-identifier hs-var">gpd</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-75"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
-&gt; [(UnqualComponentName,
     CondTree ConfVar [Dependency] Executable)]
-&gt; [PrettyField ()]
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppCondExecutables"><span class="hs-identifier hs-var">ppCondExecutables</span></a></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="#local-6989586621679701386"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">GenericPackageDescription
-&gt; [(UnqualComponentName,
     CondTree ConfVar [Dependency] Executable)]
</span><a href="Distribution.Types.GenericPackageDescription.html#condExecutables"><span class="hs-identifier hs-var hs-var">condExecutables</span></a></span><span> </span><span class="annot"><span class="annottext">GenericPackageDescription
</span><a href="#local-6989586621679701382"><span class="hs-identifier hs-var">gpd</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-76"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
-&gt; [(UnqualComponentName, CondTree ConfVar [Dependency] TestSuite)]
-&gt; [PrettyField ()]
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppCondTestSuites"><span class="hs-identifier hs-var">ppCondTestSuites</span></a></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="#local-6989586621679701386"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">GenericPackageDescription
-&gt; [(UnqualComponentName, CondTree ConfVar [Dependency] TestSuite)]
</span><a href="Distribution.Types.GenericPackageDescription.html#condTestSuites"><span class="hs-identifier hs-var hs-var">condTestSuites</span></a></span><span> </span><span class="annot"><span class="annottext">GenericPackageDescription
</span><a href="#local-6989586621679701382"><span class="hs-identifier hs-var">gpd</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-77"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
-&gt; [(UnqualComponentName, CondTree ConfVar [Dependency] Benchmark)]
-&gt; [PrettyField ()]
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppCondBenchmarks"><span class="hs-identifier hs-var">ppCondBenchmarks</span></a></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="#local-6989586621679701386"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">GenericPackageDescription
-&gt; [(UnqualComponentName, CondTree ConfVar [Dependency] Benchmark)]
</span><a href="Distribution.Types.GenericPackageDescription.html#condBenchmarks"><span class="hs-identifier hs-var hs-var">condBenchmarks</span></a></span><span> </span><span class="annot"><span class="annottext">GenericPackageDescription
</span><a href="#local-6989586621679701382"><span class="hs-identifier hs-var">gpd</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-78"></span><span>    </span><span class="hs-special">]</span><span>
</span><span id="line-79"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-80"></span><span>    </span><span id="local-6989586621679701382"><span class="annot"><span class="annottext">gpd :: GenericPackageDescription
</span><a href="#local-6989586621679701382"><span class="hs-identifier hs-var hs-var">gpd</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
-&gt; GenericPackageDescription -&gt; GenericPackageDescription
</span><a href="Distribution.PackageDescription.PrettyPrint.html#preProcessInternalDeps"><span class="hs-identifier hs-var">preProcessInternalDeps</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; CabalSpecVersion
</span><a href="Distribution.Types.PackageDescription.html#specVersion"><span class="hs-identifier hs-var hs-var">specVersion</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">GenericPackageDescription -&gt; PackageDescription
</span><a href="Distribution.Types.GenericPackageDescription.html#packageDescription"><span class="hs-identifier hs-var hs-var">packageDescription</span></a></span><span> </span><span class="annot"><span class="annottext">GenericPackageDescription
</span><a href="#local-6989586621679701385"><span class="hs-identifier hs-var">gpd0</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">GenericPackageDescription
</span><a href="#local-6989586621679701385"><span class="hs-identifier hs-var">gpd0</span></a></span><span>
</span><span id="line-81"></span><span>
</span><span id="line-82"></span><span>
</span><span id="line-83"></span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#ppPackageDescription"><span class="hs-identifier hs-type">ppPackageDescription</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.CabalSpecVersion.html#CabalSpecVersion"><span class="hs-identifier hs-type">CabalSpecVersion</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Distribution.Fields.Pretty.html#PrettyField"><span class="hs-identifier hs-type">PrettyField</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span class="hs-special">]</span><span>
</span><span id="line-84"></span><span id="ppPackageDescription"><span class="annot"><span class="annottext">ppPackageDescription :: CabalSpecVersion -&gt; PackageDescription -&gt; [PrettyField ()]
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppPackageDescription"><span class="hs-identifier hs-var hs-var">ppPackageDescription</span></a></span></span><span> </span><span id="local-6989586621679701364"><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="#local-6989586621679701364"><span class="hs-identifier hs-var">v</span></a></span></span><span> </span><span id="local-6989586621679701363"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679701363"><span class="hs-identifier hs-var">pd</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-85"></span><span>    </span><span class="annot"><span class="annottext">CabalSpecVersion
-&gt; PrettyFieldGrammar PackageDescription PackageDescription
-&gt; PackageDescription
-&gt; [PrettyField ()]
forall s a.
CabalSpecVersion -&gt; PrettyFieldGrammar s a -&gt; s -&gt; [PrettyField ()]
</span><a href="Distribution.FieldGrammar.Pretty.html#prettyFieldGrammar"><span class="hs-identifier hs-var">prettyFieldGrammar</span></a></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="#local-6989586621679701364"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="annot"><span class="annottext">PrettyFieldGrammar PackageDescription PackageDescription
forall (c :: * -&gt; Constraint) (g :: * -&gt; * -&gt; *).
(FieldGrammar c g, Applicative (g PackageDescription),
 Applicative (g PackageIdentifier), c (Identity BuildType),
 c (Identity PackageName), c (Identity Version),
 c (List FSep FilePathNT String),
 c (List FSep TestedWith (CompilerFlavor, VersionRange)),
 c (List VCat FilePathNT String), c FilePathNT, c SpecLicense,
 c SpecVersion) =&gt;
g PackageDescription PackageDescription
</span><a href="Distribution.PackageDescription.FieldGrammar.html#packageDescriptionFieldGrammar"><span class="hs-identifier hs-var">packageDescriptionFieldGrammar</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679701363"><span class="hs-identifier hs-var">pd</span></a></span><span>
</span><span id="line-86"></span><span>    </span><span class="annot"><span class="annottext">[PrettyField ()] -&gt; [PrettyField ()] -&gt; [PrettyField ()]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion -&gt; [SourceRepo] -&gt; [PrettyField ()]
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppSourceRepos"><span class="hs-identifier hs-var">ppSourceRepos</span></a></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="#local-6989586621679701364"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; [SourceRepo]
</span><a href="Distribution.Types.PackageDescription.html#sourceRepos"><span class="hs-identifier hs-var hs-var">sourceRepos</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679701363"><span class="hs-identifier hs-var">pd</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-87"></span><span>
</span><span id="line-88"></span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#ppSourceRepos"><span class="hs-identifier hs-type">ppSourceRepos</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.CabalSpecVersion.html#CabalSpecVersion"><span class="hs-identifier hs-type">CabalSpecVersion</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Distribution.Types.SourceRepo.html#SourceRepo"><span class="hs-identifier hs-type">SourceRepo</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Distribution.Fields.Pretty.html#PrettyField"><span class="hs-identifier hs-type">PrettyField</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span class="hs-special">]</span><span>
</span><span id="line-89"></span><span id="ppSourceRepos"><span class="annot"><span class="annottext">ppSourceRepos :: CabalSpecVersion -&gt; [SourceRepo] -&gt; [PrettyField ()]
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppSourceRepos"><span class="hs-identifier hs-var hs-var">ppSourceRepos</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(SourceRepo -&gt; PrettyField ()) -&gt; [SourceRepo] -&gt; [PrettyField ()]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">((SourceRepo -&gt; PrettyField ())
 -&gt; [SourceRepo] -&gt; [PrettyField ()])
-&gt; (CabalSpecVersion -&gt; SourceRepo -&gt; PrettyField ())
-&gt; CabalSpecVersion
-&gt; [SourceRepo]
-&gt; [PrettyField ()]
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion -&gt; SourceRepo -&gt; PrettyField ()
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppSourceRepo"><span class="hs-identifier hs-var">ppSourceRepo</span></a></span><span>
</span><span id="line-90"></span><span>
</span><span id="line-91"></span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#ppSourceRepo"><span class="hs-identifier hs-type">ppSourceRepo</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.CabalSpecVersion.html#CabalSpecVersion"><span class="hs-identifier hs-type">CabalSpecVersion</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.SourceRepo.html#SourceRepo"><span class="hs-identifier hs-type">SourceRepo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Fields.Pretty.html#PrettyField"><span class="hs-identifier hs-type">PrettyField</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-92"></span><span id="ppSourceRepo"><span class="annot"><span class="annottext">ppSourceRepo :: CabalSpecVersion -&gt; SourceRepo -&gt; PrettyField ()
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppSourceRepo"><span class="hs-identifier hs-var hs-var">ppSourceRepo</span></a></span></span><span> </span><span id="local-6989586621679701358"><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="#local-6989586621679701358"><span class="hs-identifier hs-var">v</span></a></span></span><span> </span><span id="local-6989586621679701357"><span class="annot"><span class="annottext">SourceRepo
</span><a href="#local-6989586621679701357"><span class="hs-identifier hs-var">repo</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">() -&gt; FieldName -&gt; [Doc] -&gt; [PrettyField ()] -&gt; PrettyField ()
forall ann.
ann -&gt; FieldName -&gt; [Doc] -&gt; [PrettyField ann] -&gt; PrettyField ann
</span><a href="Distribution.Fields.Pretty.html#PrettySection"><span class="hs-identifier hs-var">PrettySection</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">FieldName
</span><span class="hs-string">&quot;source-repository&quot;</span></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">RepoKind -&gt; Doc
forall a. Pretty a =&gt; a -&gt; Doc
</span><a href="Distribution.Pretty.html#pretty"><span class="hs-identifier hs-var">pretty</span></a></span><span> </span><span class="annot"><span class="annottext">RepoKind
</span><a href="#local-6989586621679701354"><span class="hs-identifier hs-var">kind</span></a></span><span class="hs-special">]</span><span> </span><span class="annot"><span class="annottext">([PrettyField ()] -&gt; PrettyField ())
-&gt; [PrettyField ()] -&gt; PrettyField ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span>
</span><span id="line-93"></span><span>    </span><span class="annot"><span class="annottext">CabalSpecVersion
-&gt; PrettyFieldGrammar SourceRepo SourceRepo
-&gt; SourceRepo
-&gt; [PrettyField ()]
forall s a.
CabalSpecVersion -&gt; PrettyFieldGrammar s a -&gt; s -&gt; [PrettyField ()]
</span><a href="Distribution.FieldGrammar.Pretty.html#prettyFieldGrammar"><span class="hs-identifier hs-var">prettyFieldGrammar</span></a></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="#local-6989586621679701358"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">RepoKind -&gt; PrettyFieldGrammar SourceRepo SourceRepo
forall (c :: * -&gt; Constraint) (g :: * -&gt; * -&gt; *).
(FieldGrammar c g, Applicative (g SourceRepo),
 c (Identity RepoType), c Token, c FilePathNT) =&gt;
RepoKind -&gt; g SourceRepo SourceRepo
</span><a href="Distribution.PackageDescription.FieldGrammar.html#sourceRepoFieldGrammar"><span class="hs-identifier hs-var">sourceRepoFieldGrammar</span></a></span><span> </span><span class="annot"><span class="annottext">RepoKind
</span><a href="#local-6989586621679701354"><span class="hs-identifier hs-var">kind</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">SourceRepo
</span><a href="#local-6989586621679701357"><span class="hs-identifier hs-var">repo</span></a></span><span>
</span><span id="line-94"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-95"></span><span>    </span><span id="local-6989586621679701354"><span class="annot"><span class="annottext">kind :: RepoKind
</span><a href="#local-6989586621679701354"><span class="hs-identifier hs-var hs-var">kind</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">SourceRepo -&gt; RepoKind
</span><a href="Distribution.Types.SourceRepo.html#repoKind"><span class="hs-identifier hs-var hs-var">repoKind</span></a></span><span> </span><span class="annot"><span class="annottext">SourceRepo
</span><a href="#local-6989586621679701357"><span class="hs-identifier hs-var">repo</span></a></span><span>
</span><span id="line-96"></span><span>
</span><span id="line-97"></span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#ppSetupBInfo"><span class="hs-identifier hs-type">ppSetupBInfo</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.CabalSpecVersion.html#CabalSpecVersion"><span class="hs-identifier hs-type">CabalSpecVersion</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><a href="Distribution.Types.SetupBuildInfo.html#SetupBuildInfo"><span class="hs-identifier hs-type">SetupBuildInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Distribution.Fields.Pretty.html#PrettyField"><span class="hs-identifier hs-type">PrettyField</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span class="hs-special">]</span><span>
</span><span id="line-98"></span><span id="ppSetupBInfo"><span class="annot"><span class="annottext">ppSetupBInfo :: CabalSpecVersion -&gt; Maybe SetupBuildInfo -&gt; [PrettyField ()]
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppSetupBInfo"><span class="hs-identifier hs-var hs-var">ppSetupBInfo</span></a></span></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">Maybe SetupBuildInfo
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[PrettyField ()]
forall a. Monoid a =&gt; a
</span><a href="../../base/src/GHC.Base.html#mempty"><span class="hs-identifier hs-var">mempty</span></a></span><span>
</span><span id="line-99"></span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#ppSetupBInfo"><span class="hs-identifier hs-var">ppSetupBInfo</span></a></span><span> </span><span id="local-6989586621679701352"><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="#local-6989586621679701352"><span class="hs-identifier hs-var">v</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span id="local-6989586621679701351"><span class="annot"><span class="annottext">SetupBuildInfo
</span><a href="#local-6989586621679701351"><span class="hs-identifier hs-var">sbi</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-100"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">SetupBuildInfo -&gt; Bool
</span><a href="Distribution.Types.SetupBuildInfo.html#defaultSetupDepends"><span class="hs-identifier hs-var hs-var">defaultSetupDepends</span></a></span><span> </span><span class="annot"><span class="annottext">SetupBuildInfo
</span><a href="#local-6989586621679701351"><span class="hs-identifier hs-var">sbi</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[PrettyField ()]
forall a. Monoid a =&gt; a
</span><a href="../../base/src/GHC.Base.html#mempty"><span class="hs-identifier hs-var">mempty</span></a></span><span>
</span><span id="line-101"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PrettyField () -&gt; [PrettyField ()]
forall (f :: * -&gt; *) a. Applicative f =&gt; a -&gt; f a
</span><a href="../../base/src/GHC.Base.html#pure"><span class="hs-identifier hs-var">pure</span></a></span><span> </span><span class="annot"><span class="annottext">(PrettyField () -&gt; [PrettyField ()])
-&gt; PrettyField () -&gt; [PrettyField ()]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">() -&gt; FieldName -&gt; [Doc] -&gt; [PrettyField ()] -&gt; PrettyField ()
forall ann.
ann -&gt; FieldName -&gt; [Doc] -&gt; [PrettyField ann] -&gt; PrettyField ann
</span><a href="Distribution.Fields.Pretty.html#PrettySection"><span class="hs-identifier hs-var">PrettySection</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">FieldName
</span><span class="hs-string">&quot;custom-setup&quot;</span></span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span> </span><span class="annot"><span class="annottext">([PrettyField ()] -&gt; PrettyField ())
-&gt; [PrettyField ()] -&gt; PrettyField ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span>
</span><span id="line-102"></span><span>        </span><span class="annot"><span class="annottext">CabalSpecVersion
-&gt; PrettyFieldGrammar SetupBuildInfo SetupBuildInfo
-&gt; SetupBuildInfo
-&gt; [PrettyField ()]
forall s a.
CabalSpecVersion -&gt; PrettyFieldGrammar s a -&gt; s -&gt; [PrettyField ()]
</span><a href="Distribution.FieldGrammar.Pretty.html#prettyFieldGrammar"><span class="hs-identifier hs-var">prettyFieldGrammar</span></a></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="#local-6989586621679701352"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; PrettyFieldGrammar SetupBuildInfo SetupBuildInfo
forall (c :: * -&gt; Constraint) (g :: * -&gt; * -&gt; *).
(FieldGrammar c g, Functor (g SetupBuildInfo),
 c (List CommaVCat (Identity Dependency) Dependency)) =&gt;
Bool -&gt; g SetupBuildInfo SetupBuildInfo
</span><a href="Distribution.PackageDescription.FieldGrammar.html#setupBInfoFieldGrammar"><span class="hs-identifier hs-var">setupBInfoFieldGrammar</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">SetupBuildInfo
</span><a href="#local-6989586621679701351"><span class="hs-identifier hs-var">sbi</span></a></span><span>
</span><span id="line-103"></span><span>
</span><span id="line-104"></span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#ppGenPackageFlags"><span class="hs-identifier hs-type">ppGenPackageFlags</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.CabalSpecVersion.html#CabalSpecVersion"><span class="hs-identifier hs-type">CabalSpecVersion</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Distribution.Types.Flag.html#PackageFlag"><span class="hs-identifier hs-type">PackageFlag</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Distribution.Fields.Pretty.html#PrettyField"><span class="hs-identifier hs-type">PrettyField</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span class="hs-special">]</span><span>
</span><span id="line-105"></span><span id="ppGenPackageFlags"><span class="annot"><span class="annottext">ppGenPackageFlags :: CabalSpecVersion -&gt; [PackageFlag] -&gt; [PrettyField ()]
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppGenPackageFlags"><span class="hs-identifier hs-var hs-var">ppGenPackageFlags</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(PackageFlag -&gt; PrettyField ())
-&gt; [PackageFlag] -&gt; [PrettyField ()]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">((PackageFlag -&gt; PrettyField ())
 -&gt; [PackageFlag] -&gt; [PrettyField ()])
-&gt; (CabalSpecVersion -&gt; PackageFlag -&gt; PrettyField ())
-&gt; CabalSpecVersion
-&gt; [PackageFlag]
-&gt; [PrettyField ()]
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion -&gt; PackageFlag -&gt; PrettyField ()
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppFlag"><span class="hs-identifier hs-var">ppFlag</span></a></span><span>
</span><span id="line-106"></span><span>
</span><span id="line-107"></span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#ppFlag"><span class="hs-identifier hs-type">ppFlag</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.CabalSpecVersion.html#CabalSpecVersion"><span class="hs-identifier hs-type">CabalSpecVersion</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.Flag.html#PackageFlag"><span class="hs-identifier hs-type">PackageFlag</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Fields.Pretty.html#PrettyField"><span class="hs-identifier hs-type">PrettyField</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-108"></span><span id="ppFlag"><span class="annot"><span class="annottext">ppFlag :: CabalSpecVersion -&gt; PackageFlag -&gt; PrettyField ()
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppFlag"><span class="hs-identifier hs-var hs-var">ppFlag</span></a></span></span><span> </span><span id="local-6989586621679701348"><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="#local-6989586621679701348"><span class="hs-identifier hs-var">v</span></a></span></span><span> </span><span id="local-6989586621679701347"><span class="annot"><span class="annottext">flag :: PackageFlag
</span><a href="#local-6989586621679701347"><span class="hs-identifier hs-var">flag</span></a></span></span><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.Flag.html#MkPackageFlag"><span class="hs-identifier hs-type">MkPackageFlag</span></a></span><span> </span><span id="local-6989586621679701345"><span class="annot"><span class="annottext">FlagName
</span><a href="#local-6989586621679701345"><span class="hs-identifier hs-var">name</span></a></span></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">() -&gt; FieldName -&gt; [Doc] -&gt; [PrettyField ()] -&gt; PrettyField ()
forall ann.
ann -&gt; FieldName -&gt; [Doc] -&gt; [PrettyField ann] -&gt; PrettyField ann
</span><a href="Distribution.Fields.Pretty.html#PrettySection"><span class="hs-identifier hs-var">PrettySection</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">FieldName
</span><span class="hs-string">&quot;flag&quot;</span></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">FlagName -&gt; Doc
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppFlagName"><span class="hs-identifier hs-var">ppFlagName</span></a></span><span> </span><span class="annot"><span class="annottext">FlagName
</span><a href="#local-6989586621679701345"><span class="hs-identifier hs-var">name</span></a></span><span class="hs-special">]</span><span> </span><span class="annot"><span class="annottext">([PrettyField ()] -&gt; PrettyField ())
-&gt; [PrettyField ()] -&gt; PrettyField ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span>
</span><span id="line-109"></span><span>    </span><span class="annot"><span class="annottext">CabalSpecVersion
-&gt; PrettyFieldGrammar PackageFlag PackageFlag
-&gt; PackageFlag
-&gt; [PrettyField ()]
forall s a.
CabalSpecVersion -&gt; PrettyFieldGrammar s a -&gt; s -&gt; [PrettyField ()]
</span><a href="Distribution.FieldGrammar.Pretty.html#prettyFieldGrammar"><span class="hs-identifier hs-var">prettyFieldGrammar</span></a></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="#local-6989586621679701348"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">FlagName -&gt; PrettyFieldGrammar PackageFlag PackageFlag
forall (c :: * -&gt; Constraint) (g :: * -&gt; * -&gt; *).
(FieldGrammar c g, Applicative (g PackageFlag)) =&gt;
FlagName -&gt; g PackageFlag PackageFlag
</span><a href="Distribution.PackageDescription.FieldGrammar.html#flagFieldGrammar"><span class="hs-identifier hs-var">flagFieldGrammar</span></a></span><span> </span><span class="annot"><span class="annottext">FlagName
</span><a href="#local-6989586621679701345"><span class="hs-identifier hs-var">name</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">PackageFlag
</span><a href="#local-6989586621679701347"><span class="hs-identifier hs-var">flag</span></a></span><span>
</span><span id="line-110"></span><span>
</span><span id="line-111"></span><span id="local-6989586621679701808"><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#ppCondTree2"><span class="hs-identifier hs-type">ppCondTree2</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.CabalSpecVersion.html#CabalSpecVersion"><span class="hs-identifier hs-type">CabalSpecVersion</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.FieldGrammar.html#PrettyFieldGrammar%27"><span class="hs-identifier hs-type">PrettyFieldGrammar'</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679701808"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.CondTree.html#CondTree"><span class="hs-identifier hs-type">CondTree</span></a></span><span> </span><span class="annot"><a href="Distribution.Types.ConfVar.html#ConfVar"><span class="hs-identifier hs-type">ConfVar</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Distribution.Types.Dependency.html#Dependency"><span class="hs-identifier hs-type">Dependency</span></a></span><span class="hs-special">]</span><span> </span><span class="annot"><a href="#local-6989586621679701808"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Distribution.Fields.Pretty.html#PrettyField"><span class="hs-identifier hs-type">PrettyField</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span class="hs-special">]</span></span><span>
</span><span id="line-112"></span><span id="ppCondTree2"><span class="annot"><span class="annottext">ppCondTree2 :: forall s.
CabalSpecVersion
-&gt; PrettyFieldGrammar' s
-&gt; CondTree ConfVar [Dependency] s
-&gt; [PrettyField ()]
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppCondTree2"><span class="hs-identifier hs-var hs-var">ppCondTree2</span></a></span></span><span> </span><span id="local-6989586621679701342"><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="#local-6989586621679701342"><span class="hs-identifier hs-var">v</span></a></span></span><span> </span><span id="local-6989586621679701341"><span class="annot"><span class="annottext">PrettyFieldGrammar' s
</span><a href="#local-6989586621679701341"><span class="hs-identifier hs-var">grammar</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CondTree ConfVar [Dependency] s -&gt; [PrettyField ()]
forall {c}. CondTree ConfVar c s -&gt; [PrettyField ()]
</span><a href="#local-6989586621679701340"><span class="hs-identifier hs-var">go</span></a></span><span>
</span><span id="line-113"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-114"></span><span>    </span><span class="hs-comment">-- TODO: recognise elif opportunities</span><span>
</span><span id="line-115"></span><span>    </span><span id="local-6989586621679701340"><span class="annot"><span class="annottext">go :: CondTree ConfVar c s -&gt; [PrettyField ()]
</span><a href="#local-6989586621679701340"><span class="hs-identifier hs-var hs-var">go</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.CondTree.html#CondNode"><span class="hs-identifier hs-type">CondNode</span></a></span><span> </span><span id="local-6989586621679701336"><span class="annot"><span class="annottext">s
</span><a href="#local-6989586621679701336"><span class="hs-identifier hs-var">it</span></a></span></span><span> </span><span class="annot"><span class="annottext">c
</span><span class="hs-identifier">_</span></span><span> </span><span id="local-6989586621679701335"><span class="annot"><span class="annottext">[CondBranch ConfVar c s]
</span><a href="#local-6989586621679701335"><span class="hs-identifier hs-var">ifs</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-116"></span><span>        </span><span class="annot"><span class="annottext">CabalSpecVersion -&gt; PrettyFieldGrammar' s -&gt; s -&gt; [PrettyField ()]
forall s a.
CabalSpecVersion -&gt; PrettyFieldGrammar s a -&gt; s -&gt; [PrettyField ()]
</span><a href="Distribution.FieldGrammar.Pretty.html#prettyFieldGrammar"><span class="hs-identifier hs-var">prettyFieldGrammar</span></a></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="#local-6989586621679701342"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="annot"><span class="annottext">PrettyFieldGrammar' s
</span><a href="#local-6989586621679701341"><span class="hs-identifier hs-var">grammar</span></a></span><span> </span><span class="annot"><span class="annottext">s
</span><a href="#local-6989586621679701336"><span class="hs-identifier hs-var">it</span></a></span><span> </span><span class="annot"><span class="annottext">[PrettyField ()] -&gt; [PrettyField ()] -&gt; [PrettyField ()]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-117"></span><span>        </span><span class="annot"><span class="annottext">(CondBranch ConfVar c s -&gt; [PrettyField ()])
-&gt; [CondBranch ConfVar c s] -&gt; [PrettyField ()]
forall (t :: * -&gt; *) a b. Foldable t =&gt; (a -&gt; [b]) -&gt; t a -&gt; [b]
</span><a href="../../base/src/Data.Foldable.html#concatMap"><span class="hs-identifier hs-var">concatMap</span></a></span><span> </span><span class="annot"><span class="annottext">CondBranch ConfVar c s -&gt; [PrettyField ()]
</span><a href="#local-6989586621679701333"><span class="hs-identifier hs-var">ppIf</span></a></span><span> </span><span class="annot"><span class="annottext">[CondBranch ConfVar c s]
</span><a href="#local-6989586621679701335"><span class="hs-identifier hs-var">ifs</span></a></span><span>
</span><span id="line-118"></span><span>
</span><span id="line-119"></span><span>    </span><span id="local-6989586621679701333"><span class="annot"><span class="annottext">ppIf :: CondBranch ConfVar c s -&gt; [PrettyField ()]
</span><a href="#local-6989586621679701333"><span class="hs-identifier hs-var hs-var">ppIf</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.CondTree.html#CondBranch"><span class="hs-identifier hs-type">CondBranch</span></a></span><span> </span><span id="local-6989586621679701331"><span class="annot"><span class="annottext">Condition ConfVar
</span><a href="#local-6989586621679701331"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span id="local-6989586621679701330"><span class="annot"><span class="annottext">CondTree ConfVar c s
</span><a href="#local-6989586621679701330"><span class="hs-identifier hs-var">thenTree</span></a></span></span><span> </span><span class="annot"><span class="annottext">Maybe (CondTree ConfVar c s)
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-120"></span><span class="hs-comment">--        | isEmpty thenDoc = mempty</span><span>
</span><span id="line-121"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Condition ConfVar -&gt; [PrettyField ()] -&gt; PrettyField ()
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppIfCondition"><span class="hs-identifier hs-var">ppIfCondition</span></a></span><span> </span><span class="annot"><span class="annottext">Condition ConfVar
</span><a href="#local-6989586621679701331"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">[PrettyField ()]
</span><a href="#local-6989586621679701328"><span class="hs-identifier hs-var">thenDoc</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-122"></span><span>      </span><span class="hs-keyword">where</span><span>
</span><span id="line-123"></span><span>        </span><span id="local-6989586621679701328"><span class="annot"><span class="annottext">thenDoc :: [PrettyField ()]
</span><a href="#local-6989586621679701328"><span class="hs-identifier hs-var hs-var">thenDoc</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CondTree ConfVar c s -&gt; [PrettyField ()]
</span><a href="#local-6989586621679701340"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="annot"><span class="annottext">CondTree ConfVar c s
</span><a href="#local-6989586621679701330"><span class="hs-identifier hs-var">thenTree</span></a></span><span>
</span><span id="line-124"></span><span>
</span><span id="line-125"></span><span>    </span><span class="annot"><a href="#local-6989586621679701333"><span class="hs-identifier hs-var">ppIf</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.CondTree.html#CondBranch"><span class="hs-identifier hs-type">CondBranch</span></a></span><span> </span><span id="local-6989586621679701327"><span class="annot"><span class="annottext">Condition ConfVar
</span><a href="#local-6989586621679701327"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span id="local-6989586621679701326"><span class="annot"><span class="annottext">CondTree ConfVar c s
</span><a href="#local-6989586621679701326"><span class="hs-identifier hs-var">thenTree</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span id="local-6989586621679701325"><span class="annot"><span class="annottext">CondTree ConfVar c s
</span><a href="#local-6989586621679701325"><span class="hs-identifier hs-var">elseTree</span></a></span></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-126"></span><span>      </span><span class="hs-comment">-- See #6193</span><span>
</span><span id="line-127"></span><span>      </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">Condition ConfVar -&gt; [PrettyField ()] -&gt; PrettyField ()
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppIfCondition"><span class="hs-identifier hs-var">ppIfCondition</span></a></span><span> </span><span class="annot"><span class="annottext">Condition ConfVar
</span><a href="#local-6989586621679701327"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">CondTree ConfVar c s -&gt; [PrettyField ()]
</span><a href="#local-6989586621679701340"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="annot"><span class="annottext">CondTree ConfVar c s
</span><a href="#local-6989586621679701326"><span class="hs-identifier hs-var">thenTree</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-128"></span><span>      </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">() -&gt; FieldName -&gt; [Doc] -&gt; [PrettyField ()] -&gt; PrettyField ()
forall ann.
ann -&gt; FieldName -&gt; [Doc] -&gt; [PrettyField ann] -&gt; PrettyField ann
</span><a href="Distribution.Fields.Pretty.html#PrettySection"><span class="hs-identifier hs-var">PrettySection</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">FieldName
</span><span class="hs-string">&quot;else&quot;</span></span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">CondTree ConfVar c s -&gt; [PrettyField ()]
</span><a href="#local-6989586621679701340"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="annot"><span class="annottext">CondTree ConfVar c s
</span><a href="#local-6989586621679701325"><span class="hs-identifier hs-var">elseTree</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-129"></span><span>      </span><span class="hs-special">]</span><span>
</span><span id="line-130"></span><span>
</span><span id="line-131"></span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#ppCondLibrary"><span class="hs-identifier hs-type">ppCondLibrary</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.CabalSpecVersion.html#CabalSpecVersion"><span class="hs-identifier hs-type">CabalSpecVersion</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.CondTree.html#CondTree"><span class="hs-identifier hs-type">CondTree</span></a></span><span> </span><span class="annot"><a href="Distribution.Types.ConfVar.html#ConfVar"><span class="hs-identifier hs-type">ConfVar</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Distribution.Types.Dependency.html#Dependency"><span class="hs-identifier hs-type">Dependency</span></a></span><span class="hs-special">]</span><span> </span><span class="annot"><a href="Distribution.Types.Library.html#Library"><span class="hs-identifier hs-type">Library</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Distribution.Fields.Pretty.html#PrettyField"><span class="hs-identifier hs-type">PrettyField</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span class="hs-special">]</span><span>
</span><span id="line-132"></span><span id="ppCondLibrary"><span class="annot"><span class="annottext">ppCondLibrary :: CabalSpecVersion
-&gt; Maybe (CondTree ConfVar [Dependency] Library)
-&gt; [PrettyField ()]
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppCondLibrary"><span class="hs-identifier hs-var hs-var">ppCondLibrary</span></a></span></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">Maybe (CondTree ConfVar [Dependency] Library)
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[PrettyField ()]
forall a. Monoid a =&gt; a
</span><a href="../../base/src/GHC.Base.html#mempty"><span class="hs-identifier hs-var">mempty</span></a></span><span>
</span><span id="line-133"></span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#ppCondLibrary"><span class="hs-identifier hs-var">ppCondLibrary</span></a></span><span> </span><span id="local-6989586621679701324"><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="#local-6989586621679701324"><span class="hs-identifier hs-var">v</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span id="local-6989586621679701323"><span class="annot"><span class="annottext">CondTree ConfVar [Dependency] Library
</span><a href="#local-6989586621679701323"><span class="hs-identifier hs-var">condTree</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PrettyField () -&gt; [PrettyField ()]
forall (f :: * -&gt; *) a. Applicative f =&gt; a -&gt; f a
</span><a href="../../base/src/GHC.Base.html#pure"><span class="hs-identifier hs-var">pure</span></a></span><span> </span><span class="annot"><span class="annottext">(PrettyField () -&gt; [PrettyField ()])
-&gt; PrettyField () -&gt; [PrettyField ()]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">() -&gt; FieldName -&gt; [Doc] -&gt; [PrettyField ()] -&gt; PrettyField ()
forall ann.
ann -&gt; FieldName -&gt; [Doc] -&gt; [PrettyField ann] -&gt; PrettyField ann
</span><a href="Distribution.Fields.Pretty.html#PrettySection"><span class="hs-identifier hs-var">PrettySection</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">FieldName
</span><span class="hs-string">&quot;library&quot;</span></span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span> </span><span class="annot"><span class="annottext">([PrettyField ()] -&gt; PrettyField ())
-&gt; [PrettyField ()] -&gt; PrettyField ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span>
</span><span id="line-134"></span><span>    </span><span class="annot"><span class="annottext">CabalSpecVersion
-&gt; PrettyFieldGrammar' Library
-&gt; CondTree ConfVar [Dependency] Library
-&gt; [PrettyField ()]
forall s.
CabalSpecVersion
-&gt; PrettyFieldGrammar' s
-&gt; CondTree ConfVar [Dependency] s
-&gt; [PrettyField ()]
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppCondTree2"><span class="hs-identifier hs-var">ppCondTree2</span></a></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="#local-6989586621679701324"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">LibraryName -&gt; PrettyFieldGrammar' Library
forall (c :: * -&gt; Constraint) (g :: * -&gt; * -&gt; *).
(FieldGrammar c g, Applicative (g Library),
 Applicative (g BuildInfo), c (Identity LibraryVisibility),
 c (List CommaFSep (Identity ExeDependency) ExeDependency),
 c (List
      CommaFSep (Identity LegacyExeDependency) LegacyExeDependency),
 c (List
      CommaFSep (Identity PkgconfigDependency) PkgconfigDependency),
 c (List CommaVCat (Identity Dependency) Dependency),
 c (List CommaVCat (Identity Mixin) Mixin),
 c (List CommaVCat (Identity ModuleReexport) ModuleReexport),
 c (List FSep (MQuoted Extension) Extension),
 c (List FSep (MQuoted Language) Language),
 c (List FSep FilePathNT String), c (List FSep Token String),
 c (List NoCommaFSep Token' String),
 c (List VCat (MQuoted ModuleName) ModuleName),
 c (List VCat FilePathNT String), c (List VCat Token String),
 c (MQuoted Language)) =&gt;
LibraryName -&gt; g Library Library
</span><a href="Distribution.PackageDescription.FieldGrammar.html#libraryFieldGrammar"><span class="hs-identifier hs-var">libraryFieldGrammar</span></a></span><span> </span><span class="annot"><span class="annottext">LibraryName
</span><a href="Distribution.Types.LibraryName.html#LMainLibName"><span class="hs-identifier hs-var">LMainLibName</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">CondTree ConfVar [Dependency] Library
</span><a href="#local-6989586621679701323"><span class="hs-identifier hs-var">condTree</span></a></span><span>
</span><span id="line-135"></span><span>
</span><span id="line-136"></span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#ppCondSubLibraries"><span class="hs-identifier hs-type">ppCondSubLibraries</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.CabalSpecVersion.html#CabalSpecVersion"><span class="hs-identifier hs-type">CabalSpecVersion</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.UnqualComponentName.html#UnqualComponentName"><span class="hs-identifier hs-type">UnqualComponentName</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Types.CondTree.html#CondTree"><span class="hs-identifier hs-type">CondTree</span></a></span><span> </span><span class="annot"><a href="Distribution.Types.ConfVar.html#ConfVar"><span class="hs-identifier hs-type">ConfVar</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Distribution.Types.Dependency.html#Dependency"><span class="hs-identifier hs-type">Dependency</span></a></span><span class="hs-special">]</span><span> </span><span class="annot"><a href="Distribution.Types.Library.html#Library"><span class="hs-identifier hs-type">Library</span></a></span><span class="hs-special">)</span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Distribution.Fields.Pretty.html#PrettyField"><span class="hs-identifier hs-type">PrettyField</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span class="hs-special">]</span><span>
</span><span id="line-137"></span><span id="ppCondSubLibraries"><span class="annot"><span class="annottext">ppCondSubLibraries :: CabalSpecVersion
-&gt; [(UnqualComponentName, CondTree ConfVar [Dependency] Library)]
-&gt; [PrettyField ()]
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppCondSubLibraries"><span class="hs-identifier hs-var hs-var">ppCondSubLibraries</span></a></span></span><span> </span><span id="local-6989586621679701321"><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="#local-6989586621679701321"><span class="hs-identifier hs-var">v</span></a></span></span><span> </span><span id="local-6989586621679701320"><span class="annot"><span class="annottext">[(UnqualComponentName, CondTree ConfVar [Dependency] Library)]
</span><a href="#local-6989586621679701320"><span class="hs-identifier hs-var">libs</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-138"></span><span>    </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">() -&gt; FieldName -&gt; [Doc] -&gt; [PrettyField ()] -&gt; PrettyField ()
forall ann.
ann -&gt; FieldName -&gt; [Doc] -&gt; [PrettyField ann] -&gt; PrettyField ann
</span><a href="Distribution.Fields.Pretty.html#PrettySection"><span class="hs-identifier hs-var">PrettySection</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">FieldName
</span><span class="hs-string">&quot;library&quot;</span></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">UnqualComponentName -&gt; Doc
forall a. Pretty a =&gt; a -&gt; Doc
</span><a href="Distribution.Pretty.html#pretty"><span class="hs-identifier hs-var">pretty</span></a></span><span> </span><span class="annot"><span class="annottext">UnqualComponentName
</span><a href="#local-6989586621679701319"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-139"></span><span>    </span><span class="annot"><span class="annottext">([PrettyField ()] -&gt; PrettyField ())
-&gt; [PrettyField ()] -&gt; PrettyField ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
-&gt; PrettyFieldGrammar' Library
-&gt; CondTree ConfVar [Dependency] Library
-&gt; [PrettyField ()]
forall s.
CabalSpecVersion
-&gt; PrettyFieldGrammar' s
-&gt; CondTree ConfVar [Dependency] s
-&gt; [PrettyField ()]
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppCondTree2"><span class="hs-identifier hs-var">ppCondTree2</span></a></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="#local-6989586621679701321"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">LibraryName -&gt; PrettyFieldGrammar' Library
forall (c :: * -&gt; Constraint) (g :: * -&gt; * -&gt; *).
(FieldGrammar c g, Applicative (g Library),
 Applicative (g BuildInfo), c (Identity LibraryVisibility),
 c (List CommaFSep (Identity ExeDependency) ExeDependency),
 c (List
      CommaFSep (Identity LegacyExeDependency) LegacyExeDependency),
 c (List
      CommaFSep (Identity PkgconfigDependency) PkgconfigDependency),
 c (List CommaVCat (Identity Dependency) Dependency),
 c (List CommaVCat (Identity Mixin) Mixin),
 c (List CommaVCat (Identity ModuleReexport) ModuleReexport),
 c (List FSep (MQuoted Extension) Extension),
 c (List FSep (MQuoted Language) Language),
 c (List FSep FilePathNT String), c (List FSep Token String),
 c (List NoCommaFSep Token' String),
 c (List VCat (MQuoted ModuleName) ModuleName),
 c (List VCat FilePathNT String), c (List VCat Token String),
 c (MQuoted Language)) =&gt;
LibraryName -&gt; g Library Library
</span><a href="Distribution.PackageDescription.FieldGrammar.html#libraryFieldGrammar"><span class="hs-identifier hs-var">libraryFieldGrammar</span></a></span><span> </span><span class="annot"><span class="annottext">(LibraryName -&gt; PrettyFieldGrammar' Library)
-&gt; LibraryName -&gt; PrettyFieldGrammar' Library
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">UnqualComponentName -&gt; LibraryName
</span><a href="Distribution.Types.LibraryName.html#LSubLibName"><span class="hs-identifier hs-var">LSubLibName</span></a></span><span> </span><span class="annot"><span class="annottext">UnqualComponentName
</span><a href="#local-6989586621679701319"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">CondTree ConfVar [Dependency] Library
</span><a href="#local-6989586621679701317"><span class="hs-identifier hs-var">condTree</span></a></span><span>
</span><span id="line-140"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span class="hs-special">(</span><span id="local-6989586621679701319"><span class="annot"><span class="annottext">UnqualComponentName
</span><a href="#local-6989586621679701319"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679701317"><span class="annot"><span class="annottext">CondTree ConfVar [Dependency] Library
</span><a href="#local-6989586621679701317"><span class="hs-identifier hs-var">condTree</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">[(UnqualComponentName, CondTree ConfVar [Dependency] Library)]
</span><a href="#local-6989586621679701320"><span class="hs-identifier hs-var">libs</span></a></span><span>
</span><span id="line-141"></span><span>    </span><span class="hs-special">]</span><span>
</span><span id="line-142"></span><span>
</span><span id="line-143"></span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#ppCondForeignLibs"><span class="hs-identifier hs-type">ppCondForeignLibs</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.CabalSpecVersion.html#CabalSpecVersion"><span class="hs-identifier hs-type">CabalSpecVersion</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.UnqualComponentName.html#UnqualComponentName"><span class="hs-identifier hs-type">UnqualComponentName</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Types.CondTree.html#CondTree"><span class="hs-identifier hs-type">CondTree</span></a></span><span> </span><span class="annot"><a href="Distribution.Types.ConfVar.html#ConfVar"><span class="hs-identifier hs-type">ConfVar</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Distribution.Types.Dependency.html#Dependency"><span class="hs-identifier hs-type">Dependency</span></a></span><span class="hs-special">]</span><span> </span><span class="annot"><a href="Distribution.Types.ForeignLib.html#ForeignLib"><span class="hs-identifier hs-type">ForeignLib</span></a></span><span class="hs-special">)</span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Distribution.Fields.Pretty.html#PrettyField"><span class="hs-identifier hs-type">PrettyField</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span class="hs-special">]</span><span>
</span><span id="line-144"></span><span id="ppCondForeignLibs"><span class="annot"><span class="annottext">ppCondForeignLibs :: CabalSpecVersion
-&gt; [(UnqualComponentName,
     CondTree ConfVar [Dependency] ForeignLib)]
-&gt; [PrettyField ()]
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppCondForeignLibs"><span class="hs-identifier hs-var hs-var">ppCondForeignLibs</span></a></span></span><span> </span><span id="local-6989586621679701316"><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="#local-6989586621679701316"><span class="hs-identifier hs-var">v</span></a></span></span><span> </span><span id="local-6989586621679701315"><span class="annot"><span class="annottext">[(UnqualComponentName, CondTree ConfVar [Dependency] ForeignLib)]
</span><a href="#local-6989586621679701315"><span class="hs-identifier hs-var">flibs</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-145"></span><span>    </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">() -&gt; FieldName -&gt; [Doc] -&gt; [PrettyField ()] -&gt; PrettyField ()
forall ann.
ann -&gt; FieldName -&gt; [Doc] -&gt; [PrettyField ann] -&gt; PrettyField ann
</span><a href="Distribution.Fields.Pretty.html#PrettySection"><span class="hs-identifier hs-var">PrettySection</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">FieldName
</span><span class="hs-string">&quot;foreign-library&quot;</span></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">UnqualComponentName -&gt; Doc
forall a. Pretty a =&gt; a -&gt; Doc
</span><a href="Distribution.Pretty.html#pretty"><span class="hs-identifier hs-var">pretty</span></a></span><span> </span><span class="annot"><span class="annottext">UnqualComponentName
</span><a href="#local-6989586621679701314"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-146"></span><span>    </span><span class="annot"><span class="annottext">([PrettyField ()] -&gt; PrettyField ())
-&gt; [PrettyField ()] -&gt; PrettyField ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
-&gt; PrettyFieldGrammar' ForeignLib
-&gt; CondTree ConfVar [Dependency] ForeignLib
-&gt; [PrettyField ()]
forall s.
CabalSpecVersion
-&gt; PrettyFieldGrammar' s
-&gt; CondTree ConfVar [Dependency] s
-&gt; [PrettyField ()]
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppCondTree2"><span class="hs-identifier hs-var">ppCondTree2</span></a></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="#local-6989586621679701316"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">UnqualComponentName -&gt; PrettyFieldGrammar' ForeignLib
forall (c :: * -&gt; Constraint) (g :: * -&gt; * -&gt; *).
(FieldGrammar c g, Applicative (g ForeignLib),
 Applicative (g BuildInfo), c (Identity ForeignLibType),
 c (Identity LibVersionInfo), c (Identity Version),
 c (List CommaFSep (Identity ExeDependency) ExeDependency),
 c (List
      CommaFSep (Identity LegacyExeDependency) LegacyExeDependency),
 c (List
      CommaFSep (Identity PkgconfigDependency) PkgconfigDependency),
 c (List CommaVCat (Identity Dependency) Dependency),
 c (List CommaVCat (Identity Mixin) Mixin),
 c (List FSep (Identity ForeignLibOption) ForeignLibOption),
 c (List FSep (MQuoted Extension) Extension),
 c (List FSep (MQuoted Language) Language),
 c (List FSep FilePathNT String), c (List FSep Token String),
 c (List NoCommaFSep Token' String),
 c (List VCat (MQuoted ModuleName) ModuleName),
 c (List VCat FilePathNT String), c (List VCat Token String),
 c (MQuoted Language)) =&gt;
UnqualComponentName -&gt; g ForeignLib ForeignLib
</span><a href="Distribution.PackageDescription.FieldGrammar.html#foreignLibFieldGrammar"><span class="hs-identifier hs-var">foreignLibFieldGrammar</span></a></span><span> </span><span class="annot"><span class="annottext">UnqualComponentName
</span><a href="#local-6989586621679701314"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">CondTree ConfVar [Dependency] ForeignLib
</span><a href="#local-6989586621679701313"><span class="hs-identifier hs-var">condTree</span></a></span><span>
</span><span id="line-147"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span class="hs-special">(</span><span id="local-6989586621679701314"><span class="annot"><span class="annottext">UnqualComponentName
</span><a href="#local-6989586621679701314"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679701313"><span class="annot"><span class="annottext">CondTree ConfVar [Dependency] ForeignLib
</span><a href="#local-6989586621679701313"><span class="hs-identifier hs-var">condTree</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">[(UnqualComponentName, CondTree ConfVar [Dependency] ForeignLib)]
</span><a href="#local-6989586621679701315"><span class="hs-identifier hs-var">flibs</span></a></span><span>
</span><span id="line-148"></span><span>    </span><span class="hs-special">]</span><span>
</span><span id="line-149"></span><span>
</span><span id="line-150"></span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#ppCondExecutables"><span class="hs-identifier hs-type">ppCondExecutables</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.CabalSpecVersion.html#CabalSpecVersion"><span class="hs-identifier hs-type">CabalSpecVersion</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.UnqualComponentName.html#UnqualComponentName"><span class="hs-identifier hs-type">UnqualComponentName</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Types.CondTree.html#CondTree"><span class="hs-identifier hs-type">CondTree</span></a></span><span> </span><span class="annot"><a href="Distribution.Types.ConfVar.html#ConfVar"><span class="hs-identifier hs-type">ConfVar</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Distribution.Types.Dependency.html#Dependency"><span class="hs-identifier hs-type">Dependency</span></a></span><span class="hs-special">]</span><span> </span><span class="annot"><a href="Distribution.Types.Executable.html#Executable"><span class="hs-identifier hs-type">Executable</span></a></span><span class="hs-special">)</span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Distribution.Fields.Pretty.html#PrettyField"><span class="hs-identifier hs-type">PrettyField</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span class="hs-special">]</span><span>
</span><span id="line-151"></span><span id="ppCondExecutables"><span class="annot"><span class="annottext">ppCondExecutables :: CabalSpecVersion
-&gt; [(UnqualComponentName,
     CondTree ConfVar [Dependency] Executable)]
-&gt; [PrettyField ()]
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppCondExecutables"><span class="hs-identifier hs-var hs-var">ppCondExecutables</span></a></span></span><span> </span><span id="local-6989586621679701312"><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="#local-6989586621679701312"><span class="hs-identifier hs-var">v</span></a></span></span><span> </span><span id="local-6989586621679701311"><span class="annot"><span class="annottext">[(UnqualComponentName, CondTree ConfVar [Dependency] Executable)]
</span><a href="#local-6989586621679701311"><span class="hs-identifier hs-var">exes</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-152"></span><span>    </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">() -&gt; FieldName -&gt; [Doc] -&gt; [PrettyField ()] -&gt; PrettyField ()
forall ann.
ann -&gt; FieldName -&gt; [Doc] -&gt; [PrettyField ann] -&gt; PrettyField ann
</span><a href="Distribution.Fields.Pretty.html#PrettySection"><span class="hs-identifier hs-var">PrettySection</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">FieldName
</span><span class="hs-string">&quot;executable&quot;</span></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">UnqualComponentName -&gt; Doc
forall a. Pretty a =&gt; a -&gt; Doc
</span><a href="Distribution.Pretty.html#pretty"><span class="hs-identifier hs-var">pretty</span></a></span><span> </span><span class="annot"><span class="annottext">UnqualComponentName
</span><a href="#local-6989586621679701310"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-153"></span><span>    </span><span class="annot"><span class="annottext">([PrettyField ()] -&gt; PrettyField ())
-&gt; [PrettyField ()] -&gt; PrettyField ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
-&gt; PrettyFieldGrammar' Executable
-&gt; CondTree ConfVar [Dependency] Executable
-&gt; [PrettyField ()]
forall s.
CabalSpecVersion
-&gt; PrettyFieldGrammar' s
-&gt; CondTree ConfVar [Dependency] s
-&gt; [PrettyField ()]
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppCondTree2"><span class="hs-identifier hs-var">ppCondTree2</span></a></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="#local-6989586621679701312"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">UnqualComponentName -&gt; PrettyFieldGrammar' Executable
forall (c :: * -&gt; Constraint) (g :: * -&gt; * -&gt; *).
(FieldGrammar c g, Applicative (g Executable),
 Applicative (g BuildInfo), c (Identity ExecutableScope),
 c (List CommaFSep (Identity ExeDependency) ExeDependency),
 c (List
      CommaFSep (Identity LegacyExeDependency) LegacyExeDependency),
 c (List
      CommaFSep (Identity PkgconfigDependency) PkgconfigDependency),
 c (List CommaVCat (Identity Dependency) Dependency),
 c (List CommaVCat (Identity Mixin) Mixin),
 c (List FSep (MQuoted Extension) Extension),
 c (List FSep (MQuoted Language) Language),
 c (List FSep FilePathNT String), c (List FSep Token String),
 c (List NoCommaFSep Token' String),
 c (List VCat (MQuoted ModuleName) ModuleName),
 c (List VCat FilePathNT String), c (List VCat Token String),
 c (MQuoted Language)) =&gt;
UnqualComponentName -&gt; g Executable Executable
</span><a href="Distribution.PackageDescription.FieldGrammar.html#executableFieldGrammar"><span class="hs-identifier hs-var">executableFieldGrammar</span></a></span><span> </span><span class="annot"><span class="annottext">UnqualComponentName
</span><a href="#local-6989586621679701310"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">CondTree ConfVar [Dependency] Executable
</span><a href="#local-6989586621679701309"><span class="hs-identifier hs-var">condTree</span></a></span><span>
</span><span id="line-154"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span class="hs-special">(</span><span id="local-6989586621679701310"><span class="annot"><span class="annottext">UnqualComponentName
</span><a href="#local-6989586621679701310"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679701309"><span class="annot"><span class="annottext">CondTree ConfVar [Dependency] Executable
</span><a href="#local-6989586621679701309"><span class="hs-identifier hs-var">condTree</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">[(UnqualComponentName, CondTree ConfVar [Dependency] Executable)]
</span><a href="#local-6989586621679701311"><span class="hs-identifier hs-var">exes</span></a></span><span>
</span><span id="line-155"></span><span>    </span><span class="hs-special">]</span><span>
</span><span id="line-156"></span><span>
</span><span id="line-157"></span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#ppCondTestSuites"><span class="hs-identifier hs-type">ppCondTestSuites</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.CabalSpecVersion.html#CabalSpecVersion"><span class="hs-identifier hs-type">CabalSpecVersion</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.UnqualComponentName.html#UnqualComponentName"><span class="hs-identifier hs-type">UnqualComponentName</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Types.CondTree.html#CondTree"><span class="hs-identifier hs-type">CondTree</span></a></span><span> </span><span class="annot"><a href="Distribution.Types.ConfVar.html#ConfVar"><span class="hs-identifier hs-type">ConfVar</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Distribution.Types.Dependency.html#Dependency"><span class="hs-identifier hs-type">Dependency</span></a></span><span class="hs-special">]</span><span> </span><span class="annot"><a href="Distribution.Types.TestSuite.html#TestSuite"><span class="hs-identifier hs-type">TestSuite</span></a></span><span class="hs-special">)</span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Distribution.Fields.Pretty.html#PrettyField"><span class="hs-identifier hs-type">PrettyField</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span class="hs-special">]</span><span>
</span><span id="line-158"></span><span id="ppCondTestSuites"><span class="annot"><span class="annottext">ppCondTestSuites :: CabalSpecVersion
-&gt; [(UnqualComponentName, CondTree ConfVar [Dependency] TestSuite)]
-&gt; [PrettyField ()]
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppCondTestSuites"><span class="hs-identifier hs-var hs-var">ppCondTestSuites</span></a></span></span><span> </span><span id="local-6989586621679701308"><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="#local-6989586621679701308"><span class="hs-identifier hs-var">v</span></a></span></span><span> </span><span id="local-6989586621679701307"><span class="annot"><span class="annottext">[(UnqualComponentName, CondTree ConfVar [Dependency] TestSuite)]
</span><a href="#local-6989586621679701307"><span class="hs-identifier hs-var">suites</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-159"></span><span>    </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">() -&gt; FieldName -&gt; [Doc] -&gt; [PrettyField ()] -&gt; PrettyField ()
forall ann.
ann -&gt; FieldName -&gt; [Doc] -&gt; [PrettyField ann] -&gt; PrettyField ann
</span><a href="Distribution.Fields.Pretty.html#PrettySection"><span class="hs-identifier hs-var">PrettySection</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">FieldName
</span><span class="hs-string">&quot;test-suite&quot;</span></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">UnqualComponentName -&gt; Doc
forall a. Pretty a =&gt; a -&gt; Doc
</span><a href="Distribution.Pretty.html#pretty"><span class="hs-identifier hs-var">pretty</span></a></span><span> </span><span class="annot"><span class="annottext">UnqualComponentName
</span><a href="#local-6989586621679701306"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-160"></span><span>    </span><span class="annot"><span class="annottext">([PrettyField ()] -&gt; PrettyField ())
-&gt; [PrettyField ()] -&gt; PrettyField ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
-&gt; PrettyFieldGrammar' TestSuiteStanza
-&gt; CondTree ConfVar [Dependency] TestSuiteStanza
-&gt; [PrettyField ()]
forall s.
CabalSpecVersion
-&gt; PrettyFieldGrammar' s
-&gt; CondTree ConfVar [Dependency] s
-&gt; [PrettyField ()]
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppCondTree2"><span class="hs-identifier hs-var">ppCondTree2</span></a></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="#local-6989586621679701308"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="annot"><span class="annottext">PrettyFieldGrammar' TestSuiteStanza
forall (c :: * -&gt; Constraint) (g :: * -&gt; * -&gt; *).
(FieldGrammar c g, Applicative (g TestSuiteStanza),
 Applicative (g BuildInfo), c (Identity ModuleName),
 c (Identity TestType),
 c (List CommaFSep (Identity ExeDependency) ExeDependency),
 c (List
      CommaFSep (Identity LegacyExeDependency) LegacyExeDependency),
 c (List
      CommaFSep (Identity PkgconfigDependency) PkgconfigDependency),
 c (List CommaVCat (Identity Dependency) Dependency),
 c (List CommaVCat (Identity Mixin) Mixin),
 c (List FSep (MQuoted Extension) Extension),
 c (List FSep (MQuoted Language) Language),
 c (List FSep FilePathNT String), c (List FSep Token String),
 c (List NoCommaFSep Token' String),
 c (List VCat (MQuoted ModuleName) ModuleName),
 c (List VCat FilePathNT String), c (List VCat Token String),
 c (MQuoted Language)) =&gt;
g TestSuiteStanza TestSuiteStanza
</span><a href="Distribution.PackageDescription.FieldGrammar.html#testSuiteFieldGrammar"><span class="hs-identifier hs-var">testSuiteFieldGrammar</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(TestSuite -&gt; TestSuiteStanza)
-&gt; CondTree ConfVar [Dependency] TestSuite
-&gt; CondTree ConfVar [Dependency] TestSuiteStanza
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/GHC.Base.html#fmap"><span class="hs-identifier hs-var">fmap</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuite -&gt; TestSuiteStanza
</span><a href="Distribution.PackageDescription.FieldGrammar.html#unvalidateTestSuite"><span class="hs-identifier hs-var">FG.unvalidateTestSuite</span></a></span><span> </span><span class="annot"><span class="annottext">CondTree ConfVar [Dependency] TestSuite
</span><a href="#local-6989586621679701304"><span class="hs-identifier hs-var">condTree</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-161"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span class="hs-special">(</span><span id="local-6989586621679701306"><span class="annot"><span class="annottext">UnqualComponentName
</span><a href="#local-6989586621679701306"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679701304"><span class="annot"><span class="annottext">CondTree ConfVar [Dependency] TestSuite
</span><a href="#local-6989586621679701304"><span class="hs-identifier hs-var">condTree</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">[(UnqualComponentName, CondTree ConfVar [Dependency] TestSuite)]
</span><a href="#local-6989586621679701307"><span class="hs-identifier hs-var">suites</span></a></span><span>
</span><span id="line-162"></span><span>    </span><span class="hs-special">]</span><span>
</span><span id="line-163"></span><span>
</span><span id="line-164"></span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#ppCondBenchmarks"><span class="hs-identifier hs-type">ppCondBenchmarks</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.CabalSpecVersion.html#CabalSpecVersion"><span class="hs-identifier hs-type">CabalSpecVersion</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.UnqualComponentName.html#UnqualComponentName"><span class="hs-identifier hs-type">UnqualComponentName</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Types.CondTree.html#CondTree"><span class="hs-identifier hs-type">CondTree</span></a></span><span> </span><span class="annot"><a href="Distribution.Types.ConfVar.html#ConfVar"><span class="hs-identifier hs-type">ConfVar</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Distribution.Types.Dependency.html#Dependency"><span class="hs-identifier hs-type">Dependency</span></a></span><span class="hs-special">]</span><span> </span><span class="annot"><a href="Distribution.Types.Benchmark.html#Benchmark"><span class="hs-identifier hs-type">Benchmark</span></a></span><span class="hs-special">)</span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Distribution.Fields.Pretty.html#PrettyField"><span class="hs-identifier hs-type">PrettyField</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span class="hs-special">]</span><span>
</span><span id="line-165"></span><span id="ppCondBenchmarks"><span class="annot"><span class="annottext">ppCondBenchmarks :: CabalSpecVersion
-&gt; [(UnqualComponentName, CondTree ConfVar [Dependency] Benchmark)]
-&gt; [PrettyField ()]
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppCondBenchmarks"><span class="hs-identifier hs-var hs-var">ppCondBenchmarks</span></a></span></span><span> </span><span id="local-6989586621679701303"><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="#local-6989586621679701303"><span class="hs-identifier hs-var">v</span></a></span></span><span> </span><span id="local-6989586621679701302"><span class="annot"><span class="annottext">[(UnqualComponentName, CondTree ConfVar [Dependency] Benchmark)]
</span><a href="#local-6989586621679701302"><span class="hs-identifier hs-var">suites</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-166"></span><span>    </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">() -&gt; FieldName -&gt; [Doc] -&gt; [PrettyField ()] -&gt; PrettyField ()
forall ann.
ann -&gt; FieldName -&gt; [Doc] -&gt; [PrettyField ann] -&gt; PrettyField ann
</span><a href="Distribution.Fields.Pretty.html#PrettySection"><span class="hs-identifier hs-var">PrettySection</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">FieldName
</span><span class="hs-string">&quot;benchmark&quot;</span></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">UnqualComponentName -&gt; Doc
forall a. Pretty a =&gt; a -&gt; Doc
</span><a href="Distribution.Pretty.html#pretty"><span class="hs-identifier hs-var">pretty</span></a></span><span> </span><span class="annot"><span class="annottext">UnqualComponentName
</span><a href="#local-6989586621679701301"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-167"></span><span>    </span><span class="annot"><span class="annottext">([PrettyField ()] -&gt; PrettyField ())
-&gt; [PrettyField ()] -&gt; PrettyField ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
-&gt; PrettyFieldGrammar' BenchmarkStanza
-&gt; CondTree ConfVar [Dependency] BenchmarkStanza
-&gt; [PrettyField ()]
forall s.
CabalSpecVersion
-&gt; PrettyFieldGrammar' s
-&gt; CondTree ConfVar [Dependency] s
-&gt; [PrettyField ()]
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppCondTree2"><span class="hs-identifier hs-var">ppCondTree2</span></a></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="#local-6989586621679701303"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="annot"><span class="annottext">PrettyFieldGrammar' BenchmarkStanza
forall (c :: * -&gt; Constraint) (g :: * -&gt; * -&gt; *).
(FieldGrammar c g, Applicative (g BenchmarkStanza),
 Applicative (g BuildInfo), c (Identity BenchmarkType),
 c (Identity ModuleName),
 c (List CommaFSep (Identity ExeDependency) ExeDependency),
 c (List
      CommaFSep (Identity LegacyExeDependency) LegacyExeDependency),
 c (List
      CommaFSep (Identity PkgconfigDependency) PkgconfigDependency),
 c (List CommaVCat (Identity Dependency) Dependency),
 c (List CommaVCat (Identity Mixin) Mixin),
 c (List FSep (MQuoted Extension) Extension),
 c (List FSep (MQuoted Language) Language),
 c (List FSep FilePathNT String), c (List FSep Token String),
 c (List NoCommaFSep Token' String),
 c (List VCat (MQuoted ModuleName) ModuleName),
 c (List VCat FilePathNT String), c (List VCat Token String),
 c (MQuoted Language)) =&gt;
g BenchmarkStanza BenchmarkStanza
</span><a href="Distribution.PackageDescription.FieldGrammar.html#benchmarkFieldGrammar"><span class="hs-identifier hs-var">benchmarkFieldGrammar</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(Benchmark -&gt; BenchmarkStanza)
-&gt; CondTree ConfVar [Dependency] Benchmark
-&gt; CondTree ConfVar [Dependency] BenchmarkStanza
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/GHC.Base.html#fmap"><span class="hs-identifier hs-var">fmap</span></a></span><span> </span><span class="annot"><span class="annottext">Benchmark -&gt; BenchmarkStanza
</span><a href="Distribution.PackageDescription.FieldGrammar.html#unvalidateBenchmark"><span class="hs-identifier hs-var">FG.unvalidateBenchmark</span></a></span><span> </span><span class="annot"><span class="annottext">CondTree ConfVar [Dependency] Benchmark
</span><a href="#local-6989586621679701299"><span class="hs-identifier hs-var">condTree</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-168"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span class="hs-special">(</span><span id="local-6989586621679701301"><span class="annot"><span class="annottext">UnqualComponentName
</span><a href="#local-6989586621679701301"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679701299"><span class="annot"><span class="annottext">CondTree ConfVar [Dependency] Benchmark
</span><a href="#local-6989586621679701299"><span class="hs-identifier hs-var">condTree</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">[(UnqualComponentName, CondTree ConfVar [Dependency] Benchmark)]
</span><a href="#local-6989586621679701302"><span class="hs-identifier hs-var">suites</span></a></span><span>
</span><span id="line-169"></span><span>    </span><span class="hs-special">]</span><span>
</span><span id="line-170"></span><span>
</span><span id="line-171"></span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#ppCondition"><span class="hs-identifier hs-type">ppCondition</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.Condition.html#Condition"><span class="hs-identifier hs-type">Condition</span></a></span><span> </span><span class="annot"><a href="Distribution.Types.ConfVar.html#ConfVar"><span class="hs-identifier hs-type">ConfVar</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../pretty/src/Text.PrettyPrint.HughesPJ.html#Doc"><span class="hs-identifier hs-type">Doc</span></a></span><span>
</span><span id="line-172"></span><span id="ppCondition"><span class="annot"><span class="annottext">ppCondition :: Condition ConfVar -&gt; Doc
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppCondition"><span class="hs-identifier hs-var hs-var">ppCondition</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.Condition.html#Var"><span class="hs-identifier hs-type">Var</span></a></span><span> </span><span id="local-6989586621679701296"><span class="annot"><span class="annottext">ConfVar
</span><a href="#local-6989586621679701296"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span>                      </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ConfVar -&gt; Doc
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppConfVar"><span class="hs-identifier hs-var">ppConfVar</span></a></span><span> </span><span class="annot"><span class="annottext">ConfVar
</span><a href="#local-6989586621679701296"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-173"></span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#ppCondition"><span class="hs-identifier hs-var">ppCondition</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.Condition.html#Lit"><span class="hs-identifier hs-type">Lit</span></a></span><span> </span><span id="local-6989586621679701293"><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679701293"><span class="hs-identifier hs-var">b</span></a></span></span><span class="hs-special">)</span><span>                      </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; Doc
</span><a href="../../pretty/src/Text.PrettyPrint.HughesPJ.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="../../base/src/GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679701293"><span class="hs-identifier hs-var">b</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-174"></span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#ppCondition"><span class="hs-identifier hs-var">ppCondition</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.Condition.html#CNot"><span class="hs-identifier hs-type">CNot</span></a></span><span> </span><span id="local-6989586621679701290"><span class="annot"><span class="annottext">Condition ConfVar
</span><a href="#local-6989586621679701290"><span class="hs-identifier hs-var">c</span></a></span></span><span class="hs-special">)</span><span>                     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Char -&gt; Doc
</span><a href="../../pretty/src/Text.PrettyPrint.HughesPJ.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'!'</span></span><span> </span><span class="annot"><span class="annottext">Doc -&gt; Doc -&gt; Doc
</span><a href="Distribution.Compat.Prelude.html#%3C%3C%3E%3E"><span class="hs-operator hs-var">&lt;&lt;&gt;&gt;</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Condition ConfVar -&gt; Doc
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppCondition"><span class="hs-identifier hs-var">ppCondition</span></a></span><span> </span><span class="annot"><span class="annottext">Condition ConfVar
</span><a href="#local-6989586621679701290"><span class="hs-identifier hs-var">c</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-175"></span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#ppCondition"><span class="hs-identifier hs-var">ppCondition</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.Condition.html#COr"><span class="hs-identifier hs-type">COr</span></a></span><span> </span><span id="local-6989586621679701287"><span class="annot"><span class="annottext">Condition ConfVar
</span><a href="#local-6989586621679701287"><span class="hs-identifier hs-var">c1</span></a></span></span><span> </span><span id="local-6989586621679701286"><span class="annot"><span class="annottext">Condition ConfVar
</span><a href="#local-6989586621679701286"><span class="hs-identifier hs-var">c2</span></a></span></span><span class="hs-special">)</span><span>                  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Doc -&gt; Doc
</span><a href="../../pretty/src/Text.PrettyPrint.HughesPJ.html#parens"><span class="hs-identifier hs-var">parens</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[Doc] -&gt; Doc
</span><a href="../../pretty/src/Text.PrettyPrint.HughesPJ.html#hsep"><span class="hs-identifier hs-var">hsep</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Condition ConfVar -&gt; Doc
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppCondition"><span class="hs-identifier hs-var">ppCondition</span></a></span><span> </span><span class="annot"><span class="annottext">Condition ConfVar
</span><a href="#local-6989586621679701287"><span class="hs-identifier hs-var">c1</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">String -&gt; Doc
</span><a href="../../pretty/src/Text.PrettyPrint.HughesPJ.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;||&quot;</span></span><span>
</span><span id="line-176"></span><span>                                                         </span><span class="annot"><span class="annottext">Doc -&gt; Doc -&gt; Doc
</span><a href="../../pretty/src/Text.PrettyPrint.HughesPJ.html#%3C%2B%3E"><span class="hs-operator hs-var">&lt;+&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Condition ConfVar -&gt; Doc
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppCondition"><span class="hs-identifier hs-var">ppCondition</span></a></span><span> </span><span class="annot"><span class="annottext">Condition ConfVar
</span><a href="#local-6989586621679701286"><span class="hs-identifier hs-var">c2</span></a></span><span class="hs-special">]</span><span class="hs-special">)</span><span>
</span><span id="line-177"></span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#ppCondition"><span class="hs-identifier hs-var">ppCondition</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.Condition.html#CAnd"><span class="hs-identifier hs-type">CAnd</span></a></span><span> </span><span id="local-6989586621679701283"><span class="annot"><span class="annottext">Condition ConfVar
</span><a href="#local-6989586621679701283"><span class="hs-identifier hs-var">c1</span></a></span></span><span> </span><span id="local-6989586621679701282"><span class="annot"><span class="annottext">Condition ConfVar
</span><a href="#local-6989586621679701282"><span class="hs-identifier hs-var">c2</span></a></span></span><span class="hs-special">)</span><span>                 </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Doc -&gt; Doc
</span><a href="../../pretty/src/Text.PrettyPrint.HughesPJ.html#parens"><span class="hs-identifier hs-var">parens</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[Doc] -&gt; Doc
</span><a href="../../pretty/src/Text.PrettyPrint.HughesPJ.html#hsep"><span class="hs-identifier hs-var">hsep</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Condition ConfVar -&gt; Doc
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppCondition"><span class="hs-identifier hs-var">ppCondition</span></a></span><span> </span><span class="annot"><span class="annottext">Condition ConfVar
</span><a href="#local-6989586621679701283"><span class="hs-identifier hs-var">c1</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">String -&gt; Doc
</span><a href="../../pretty/src/Text.PrettyPrint.HughesPJ.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;&amp;&amp;&quot;</span></span><span>
</span><span id="line-178"></span><span>                                                         </span><span class="annot"><span class="annottext">Doc -&gt; Doc -&gt; Doc
</span><a href="../../pretty/src/Text.PrettyPrint.HughesPJ.html#%3C%2B%3E"><span class="hs-operator hs-var">&lt;+&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Condition ConfVar -&gt; Doc
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppCondition"><span class="hs-identifier hs-var">ppCondition</span></a></span><span> </span><span class="annot"><span class="annottext">Condition ConfVar
</span><a href="#local-6989586621679701282"><span class="hs-identifier hs-var">c2</span></a></span><span class="hs-special">]</span><span class="hs-special">)</span><span>
</span><span id="line-179"></span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#ppConfVar"><span class="hs-identifier hs-type">ppConfVar</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.ConfVar.html#ConfVar"><span class="hs-identifier hs-type">ConfVar</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../pretty/src/Text.PrettyPrint.HughesPJ.html#Doc"><span class="hs-identifier hs-type">Doc</span></a></span><span>
</span><span id="line-180"></span><span id="ppConfVar"><span class="annot"><span class="annottext">ppConfVar :: ConfVar -&gt; Doc
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppConfVar"><span class="hs-identifier hs-var hs-var">ppConfVar</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.ConfVar.html#OS"><span class="hs-identifier hs-type">OS</span></a></span><span> </span><span id="local-6989586621679701280"><span class="annot"><span class="annottext">OS
</span><a href="#local-6989586621679701280"><span class="hs-identifier hs-var">os</span></a></span></span><span class="hs-special">)</span><span>            </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; Doc
</span><a href="../../pretty/src/Text.PrettyPrint.HughesPJ.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;os&quot;</span></span><span>   </span><span class="annot"><span class="annottext">Doc -&gt; Doc -&gt; Doc
</span><a href="Distribution.Compat.Prelude.html#%3C%3C%3E%3E"><span class="hs-operator hs-var">&lt;&lt;&gt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Doc -&gt; Doc
</span><a href="../../pretty/src/Text.PrettyPrint.HughesPJ.html#parens"><span class="hs-identifier hs-var">parens</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">OS -&gt; Doc
forall a. Pretty a =&gt; a -&gt; Doc
</span><a href="Distribution.Pretty.html#pretty"><span class="hs-identifier hs-var">pretty</span></a></span><span> </span><span class="annot"><span class="annottext">OS
</span><a href="#local-6989586621679701280"><span class="hs-identifier hs-var">os</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-181"></span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#ppConfVar"><span class="hs-identifier hs-var">ppConfVar</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.ConfVar.html#Arch"><span class="hs-identifier hs-type">Arch</span></a></span><span> </span><span id="local-6989586621679701278"><span class="annot"><span class="annottext">Arch
</span><a href="#local-6989586621679701278"><span class="hs-identifier hs-var">arch</span></a></span></span><span class="hs-special">)</span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; Doc
</span><a href="../../pretty/src/Text.PrettyPrint.HughesPJ.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;arch&quot;</span></span><span> </span><span class="annot"><span class="annottext">Doc -&gt; Doc -&gt; Doc
</span><a href="Distribution.Compat.Prelude.html#%3C%3C%3E%3E"><span class="hs-operator hs-var">&lt;&lt;&gt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Doc -&gt; Doc
</span><a href="../../pretty/src/Text.PrettyPrint.HughesPJ.html#parens"><span class="hs-identifier hs-var">parens</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Arch -&gt; Doc
forall a. Pretty a =&gt; a -&gt; Doc
</span><a href="Distribution.Pretty.html#pretty"><span class="hs-identifier hs-var">pretty</span></a></span><span> </span><span class="annot"><span class="annottext">Arch
</span><a href="#local-6989586621679701278"><span class="hs-identifier hs-var">arch</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-182"></span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#ppConfVar"><span class="hs-identifier hs-var">ppConfVar</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.ConfVar.html#PackageFlag"><span class="hs-identifier hs-type">PackageFlag</span></a></span><span> </span><span id="local-6989586621679701276"><span class="annot"><span class="annottext">FlagName
</span><a href="#local-6989586621679701276"><span class="hs-identifier hs-var">name</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; Doc
</span><a href="../../pretty/src/Text.PrettyPrint.HughesPJ.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;flag&quot;</span></span><span> </span><span class="annot"><span class="annottext">Doc -&gt; Doc -&gt; Doc
</span><a href="Distribution.Compat.Prelude.html#%3C%3C%3E%3E"><span class="hs-operator hs-var">&lt;&lt;&gt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Doc -&gt; Doc
</span><a href="../../pretty/src/Text.PrettyPrint.HughesPJ.html#parens"><span class="hs-identifier hs-var">parens</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">FlagName -&gt; Doc
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppFlagName"><span class="hs-identifier hs-var">ppFlagName</span></a></span><span> </span><span class="annot"><span class="annottext">FlagName
</span><a href="#local-6989586621679701276"><span class="hs-identifier hs-var">name</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-183"></span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#ppConfVar"><span class="hs-identifier hs-var">ppConfVar</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.ConfVar.html#Impl"><span class="hs-identifier hs-type">Impl</span></a></span><span> </span><span id="local-6989586621679701274"><span class="annot"><span class="annottext">CompilerFlavor
</span><a href="#local-6989586621679701274"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span id="local-6989586621679701273"><span class="annot"><span class="annottext">VersionRange
</span><a href="#local-6989586621679701273"><span class="hs-identifier hs-var">v</span></a></span></span><span class="hs-special">)</span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; Doc
</span><a href="../../pretty/src/Text.PrettyPrint.HughesPJ.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;impl&quot;</span></span><span> </span><span class="annot"><span class="annottext">Doc -&gt; Doc -&gt; Doc
</span><a href="Distribution.Compat.Prelude.html#%3C%3C%3E%3E"><span class="hs-operator hs-var">&lt;&lt;&gt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Doc -&gt; Doc
</span><a href="../../pretty/src/Text.PrettyPrint.HughesPJ.html#parens"><span class="hs-identifier hs-var">parens</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">CompilerFlavor -&gt; Doc
forall a. Pretty a =&gt; a -&gt; Doc
</span><a href="Distribution.Pretty.html#pretty"><span class="hs-identifier hs-var">pretty</span></a></span><span> </span><span class="annot"><span class="annottext">CompilerFlavor
</span><a href="#local-6989586621679701274"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">Doc -&gt; Doc -&gt; Doc
</span><a href="../../pretty/src/Text.PrettyPrint.HughesPJ.html#%3C%2B%3E"><span class="hs-operator hs-var">&lt;+&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">VersionRange -&gt; Doc
forall a. Pretty a =&gt; a -&gt; Doc
</span><a href="Distribution.Pretty.html#pretty"><span class="hs-identifier hs-var">pretty</span></a></span><span> </span><span class="annot"><span class="annottext">VersionRange
</span><a href="#local-6989586621679701273"><span class="hs-identifier hs-var">v</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-184"></span><span>
</span><span id="line-185"></span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#ppFlagName"><span class="hs-identifier hs-type">ppFlagName</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.Flag.html#FlagName"><span class="hs-identifier hs-type">FlagName</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../pretty/src/Text.PrettyPrint.HughesPJ.html#Doc"><span class="hs-identifier hs-type">Doc</span></a></span><span>
</span><span id="line-186"></span><span id="ppFlagName"><span class="annot"><span class="annottext">ppFlagName :: FlagName -&gt; Doc
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppFlagName"><span class="hs-identifier hs-var hs-var">ppFlagName</span></a></span></span><span>                               </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; Doc
</span><a href="../../pretty/src/Text.PrettyPrint.HughesPJ.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; Doc) -&gt; (FlagName -&gt; String) -&gt; FlagName -&gt; Doc
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">FlagName -&gt; String
</span><a href="Distribution.Types.Flag.html#unFlagName"><span class="hs-identifier hs-var">unFlagName</span></a></span><span>
</span><span id="line-187"></span><span>
</span><span id="line-188"></span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#ppIfCondition"><span class="hs-identifier hs-type">ppIfCondition</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.Condition.html#Condition"><span class="hs-identifier hs-type">Condition</span></a></span><span> </span><span class="annot"><a href="Distribution.Types.ConfVar.html#ConfVar"><span class="hs-identifier hs-type">ConfVar</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Distribution.Fields.Pretty.html#PrettyField"><span class="hs-identifier hs-type">PrettyField</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Fields.Pretty.html#PrettyField"><span class="hs-identifier hs-type">PrettyField</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-189"></span><span id="ppIfCondition"><span class="annot"><span class="annottext">ppIfCondition :: Condition ConfVar -&gt; [PrettyField ()] -&gt; PrettyField ()
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppIfCondition"><span class="hs-identifier hs-var hs-var">ppIfCondition</span></a></span></span><span> </span><span id="local-6989586621679701271"><span class="annot"><span class="annottext">Condition ConfVar
</span><a href="#local-6989586621679701271"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">() -&gt; FieldName -&gt; [Doc] -&gt; [PrettyField ()] -&gt; PrettyField ()
forall ann.
ann -&gt; FieldName -&gt; [Doc] -&gt; [PrettyField ann] -&gt; PrettyField ann
</span><a href="Distribution.Fields.Pretty.html#PrettySection"><span class="hs-identifier hs-var">PrettySection</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">FieldName
</span><span class="hs-string">&quot;if&quot;</span></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Condition ConfVar -&gt; Doc
</span><a href="Distribution.PackageDescription.PrettyPrint.html#ppCondition"><span class="hs-identifier hs-var">ppCondition</span></a></span><span> </span><span class="annot"><span class="annottext">Condition ConfVar
</span><a href="#local-6989586621679701271"><span class="hs-identifier hs-var">c</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-190"></span><span>
</span><span id="line-191"></span><span class="hs-comment">-- | @since 2.0.0.2</span><span>
</span><span id="line-192"></span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#writePackageDescription"><span class="hs-identifier hs-type">writePackageDescription</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-193"></span><span id="writePackageDescription"><span class="annot"><span class="annottext">writePackageDescription :: String -&gt; PackageDescription -&gt; IO ()
</span><a href="Distribution.PackageDescription.PrettyPrint.html#writePackageDescription"><span class="hs-identifier hs-var hs-var">writePackageDescription</span></a></span></span><span> </span><span id="local-6989586621679701270"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679701270"><span class="hs-identifier hs-var">fpath</span></a></span></span><span> </span><span id="local-6989586621679701269"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679701269"><span class="hs-identifier hs-var">pkg</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; IO ()
</span><a href="Distribution.Utils.Generic.html#writeUTF8File"><span class="hs-identifier hs-var">writeUTF8File</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679701270"><span class="hs-identifier hs-var">fpath</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; String
</span><a href="Distribution.PackageDescription.PrettyPrint.html#showPackageDescription"><span class="hs-identifier hs-var">showPackageDescription</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679701269"><span class="hs-identifier hs-var">pkg</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-194"></span><span>
</span><span id="line-195"></span><span class="hs-comment">--TODO: make this use section syntax</span><span>
</span><span id="line-196"></span><span class="hs-comment">-- add equivalent for GenericPackageDescription</span><span>
</span><span id="line-197"></span><span>
</span><span id="line-198"></span><span class="hs-comment">-- | @since 2.0.0.2</span><span>
</span><span id="line-199"></span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#showPackageDescription"><span class="hs-identifier hs-type">showPackageDescription</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-200"></span><span id="showPackageDescription"><span class="annot"><span class="annottext">showPackageDescription :: PackageDescription -&gt; String
</span><a href="Distribution.PackageDescription.PrettyPrint.html#showPackageDescription"><span class="hs-identifier hs-var hs-var">showPackageDescription</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">GenericPackageDescription -&gt; String
</span><a href="Distribution.PackageDescription.PrettyPrint.html#showGenericPackageDescription"><span class="hs-identifier hs-var">showGenericPackageDescription</span></a></span><span> </span><span class="annot"><span class="annottext">(GenericPackageDescription -&gt; String)
-&gt; (PackageDescription -&gt; GenericPackageDescription)
-&gt; PackageDescription
-&gt; String
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription -&gt; GenericPackageDescription
</span><a href="Distribution.PackageDescription.PrettyPrint.html#pdToGpd"><span class="hs-identifier hs-var">pdToGpd</span></a></span><span>
</span><span id="line-201"></span><span>
</span><span id="line-202"></span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#pdToGpd"><span class="hs-identifier hs-type">pdToGpd</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.GenericPackageDescription.html#GenericPackageDescription"><span class="hs-identifier hs-type">GenericPackageDescription</span></a></span><span>
</span><span id="line-203"></span><span id="pdToGpd"><span class="annot"><span class="annottext">pdToGpd :: PackageDescription -&gt; GenericPackageDescription
</span><a href="Distribution.PackageDescription.PrettyPrint.html#pdToGpd"><span class="hs-identifier hs-var hs-var">pdToGpd</span></a></span></span><span> </span><span id="local-6989586621679701267"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679701267"><span class="hs-identifier hs-var">pd</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">GenericPackageDescription :: PackageDescription
-&gt; Maybe Version
-&gt; [PackageFlag]
-&gt; Maybe (CondTree ConfVar [Dependency] Library)
-&gt; [(UnqualComponentName, CondTree ConfVar [Dependency] Library)]
-&gt; [(UnqualComponentName,
     CondTree ConfVar [Dependency] ForeignLib)]
-&gt; [(UnqualComponentName,
     CondTree ConfVar [Dependency] Executable)]
-&gt; [(UnqualComponentName, CondTree ConfVar [Dependency] TestSuite)]
-&gt; [(UnqualComponentName, CondTree ConfVar [Dependency] Benchmark)]
-&gt; GenericPackageDescription
</span><a href="Distribution.Types.GenericPackageDescription.html#GenericPackageDescription"><span class="hs-identifier hs-type">GenericPackageDescription</span></a></span><span>
</span><span id="line-204"></span><span>    </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">packageDescription :: PackageDescription
</span><a href="Distribution.Types.GenericPackageDescription.html#packageDescription"><span class="hs-identifier hs-var">packageDescription</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679701267"><span class="hs-identifier hs-var">pd</span></a></span><span>
</span><span id="line-205"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">gpdScannedVersion :: Maybe Version
</span><a href="#local-6989586621679701265"><span class="hs-identifier hs-var">gpdScannedVersion</span></a></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Maybe Version
forall a. Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span>
</span><span id="line-206"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">genPackageFlags :: [PackageFlag]
</span><a href="Distribution.Types.GenericPackageDescription.html#genPackageFlags"><span class="hs-identifier hs-var">genPackageFlags</span></a></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-207"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">condLibrary :: Maybe (CondTree ConfVar [Dependency] Library)
</span><a href="Distribution.Types.GenericPackageDescription.html#condLibrary"><span class="hs-identifier hs-var">condLibrary</span></a></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Library -&gt; CondTree ConfVar [Dependency] Library
forall {a} {v} {a}. a -&gt; CondTree v [a] a
</span><a href="#local-6989586621679701264"><span class="hs-identifier hs-var">mkCondTree</span></a></span><span> </span><span class="annot"><span class="annottext">(Library -&gt; CondTree ConfVar [Dependency] Library)
-&gt; Maybe Library -&gt; Maybe (CondTree ConfVar [Dependency] Library)
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/Data.Functor.html#%3C%24%3E"><span class="hs-operator hs-var">&lt;$&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription -&gt; Maybe Library
</span><a href="Distribution.Types.PackageDescription.html#library"><span class="hs-identifier hs-var hs-var">library</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679701267"><span class="hs-identifier hs-var">pd</span></a></span><span>
</span><span id="line-208"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">condSubLibraries :: [(UnqualComponentName, CondTree ConfVar [Dependency] Library)]
</span><a href="Distribution.Types.GenericPackageDescription.html#condSubLibraries"><span class="hs-identifier hs-var">condSubLibraries</span></a></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Library
-&gt; (UnqualComponentName, CondTree ConfVar [Dependency] Library)
forall {v} {a}.
Library -&gt; (UnqualComponentName, CondTree v [a] Library)
</span><a href="#local-6989586621679701261"><span class="hs-identifier hs-var">mkCondTreeL</span></a></span><span> </span><span class="annot"><span class="annottext">(Library
 -&gt; (UnqualComponentName, CondTree ConfVar [Dependency] Library))
-&gt; [Library]
-&gt; [(UnqualComponentName, CondTree ConfVar [Dependency] Library)]
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/Data.Functor.html#%3C%24%3E"><span class="hs-operator hs-var">&lt;$&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription -&gt; [Library]
</span><a href="Distribution.Types.PackageDescription.html#subLibraries"><span class="hs-identifier hs-var hs-var">subLibraries</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679701267"><span class="hs-identifier hs-var">pd</span></a></span><span>
</span><span id="line-209"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">condForeignLibs :: [(UnqualComponentName, CondTree ConfVar [Dependency] ForeignLib)]
</span><a href="Distribution.Types.GenericPackageDescription.html#condForeignLibs"><span class="hs-identifier hs-var">condForeignLibs</span></a></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(ForeignLib -&gt; UnqualComponentName)
-&gt; ForeignLib
-&gt; (UnqualComponentName, CondTree ConfVar [Dependency] ForeignLib)
forall a.
(a -&gt; UnqualComponentName)
-&gt; a -&gt; (UnqualComponentName, CondTree ConfVar [Dependency] a)
</span><a href="#local-6989586621679701259"><span class="hs-identifier hs-var">mkCondTree'</span></a></span><span> </span><span class="annot"><span class="annottext">ForeignLib -&gt; UnqualComponentName
</span><a href="Distribution.Types.ForeignLib.html#foreignLibName"><span class="hs-identifier hs-var hs-var">foreignLibName</span></a></span><span> </span><span class="annot"><span class="annottext">(ForeignLib
 -&gt; (UnqualComponentName, CondTree ConfVar [Dependency] ForeignLib))
-&gt; [ForeignLib]
-&gt; [(UnqualComponentName,
     CondTree ConfVar [Dependency] ForeignLib)]
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/Data.Functor.html#%3C%24%3E"><span class="hs-operator hs-var">&lt;$&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription -&gt; [ForeignLib]
</span><a href="Distribution.Types.PackageDescription.html#foreignLibs"><span class="hs-identifier hs-var hs-var">foreignLibs</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679701267"><span class="hs-identifier hs-var">pd</span></a></span><span>
</span><span id="line-210"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">condExecutables :: [(UnqualComponentName, CondTree ConfVar [Dependency] Executable)]
</span><a href="Distribution.Types.GenericPackageDescription.html#condExecutables"><span class="hs-identifier hs-var">condExecutables</span></a></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Executable -&gt; UnqualComponentName)
-&gt; Executable
-&gt; (UnqualComponentName, CondTree ConfVar [Dependency] Executable)
forall a.
(a -&gt; UnqualComponentName)
-&gt; a -&gt; (UnqualComponentName, CondTree ConfVar [Dependency] a)
</span><a href="#local-6989586621679701259"><span class="hs-identifier hs-var">mkCondTree'</span></a></span><span> </span><span class="annot"><span class="annottext">Executable -&gt; UnqualComponentName
</span><a href="Distribution.Types.Executable.html#exeName"><span class="hs-identifier hs-var hs-var">exeName</span></a></span><span> </span><span class="annot"><span class="annottext">(Executable
 -&gt; (UnqualComponentName, CondTree ConfVar [Dependency] Executable))
-&gt; [Executable]
-&gt; [(UnqualComponentName,
     CondTree ConfVar [Dependency] Executable)]
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/Data.Functor.html#%3C%24%3E"><span class="hs-operator hs-var">&lt;$&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription -&gt; [Executable]
</span><a href="Distribution.Types.PackageDescription.html#executables"><span class="hs-identifier hs-var hs-var">executables</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679701267"><span class="hs-identifier hs-var">pd</span></a></span><span>
</span><span id="line-211"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">condTestSuites :: [(UnqualComponentName, CondTree ConfVar [Dependency] TestSuite)]
</span><a href="Distribution.Types.GenericPackageDescription.html#condTestSuites"><span class="hs-identifier hs-var">condTestSuites</span></a></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(TestSuite -&gt; UnqualComponentName)
-&gt; TestSuite
-&gt; (UnqualComponentName, CondTree ConfVar [Dependency] TestSuite)
forall a.
(a -&gt; UnqualComponentName)
-&gt; a -&gt; (UnqualComponentName, CondTree ConfVar [Dependency] a)
</span><a href="#local-6989586621679701259"><span class="hs-identifier hs-var">mkCondTree'</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuite -&gt; UnqualComponentName
</span><a href="Distribution.Types.TestSuite.html#testName"><span class="hs-identifier hs-var hs-var">testName</span></a></span><span> </span><span class="annot"><span class="annottext">(TestSuite
 -&gt; (UnqualComponentName, CondTree ConfVar [Dependency] TestSuite))
-&gt; [TestSuite]
-&gt; [(UnqualComponentName, CondTree ConfVar [Dependency] TestSuite)]
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/Data.Functor.html#%3C%24%3E"><span class="hs-operator hs-var">&lt;$&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription -&gt; [TestSuite]
</span><a href="Distribution.Types.PackageDescription.html#testSuites"><span class="hs-identifier hs-var hs-var">testSuites</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679701267"><span class="hs-identifier hs-var">pd</span></a></span><span>
</span><span id="line-212"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">condBenchmarks :: [(UnqualComponentName, CondTree ConfVar [Dependency] Benchmark)]
</span><a href="Distribution.Types.GenericPackageDescription.html#condBenchmarks"><span class="hs-identifier hs-var">condBenchmarks</span></a></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Benchmark -&gt; UnqualComponentName)
-&gt; Benchmark
-&gt; (UnqualComponentName, CondTree ConfVar [Dependency] Benchmark)
forall a.
(a -&gt; UnqualComponentName)
-&gt; a -&gt; (UnqualComponentName, CondTree ConfVar [Dependency] a)
</span><a href="#local-6989586621679701259"><span class="hs-identifier hs-var">mkCondTree'</span></a></span><span> </span><span class="annot"><span class="annottext">Benchmark -&gt; UnqualComponentName
</span><a href="Distribution.Types.Benchmark.html#benchmarkName"><span class="hs-identifier hs-var hs-var">benchmarkName</span></a></span><span> </span><span class="annot"><span class="annottext">(Benchmark
 -&gt; (UnqualComponentName, CondTree ConfVar [Dependency] Benchmark))
-&gt; [Benchmark]
-&gt; [(UnqualComponentName, CondTree ConfVar [Dependency] Benchmark)]
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/Data.Functor.html#%3C%24%3E"><span class="hs-operator hs-var">&lt;$&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription -&gt; [Benchmark]
</span><a href="Distribution.Types.PackageDescription.html#benchmarks"><span class="hs-identifier hs-var hs-var">benchmarks</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679701267"><span class="hs-identifier hs-var">pd</span></a></span><span>
</span><span id="line-213"></span><span>    </span><span class="hs-special">}</span><span>
</span><span id="line-214"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-215"></span><span>    </span><span class="hs-comment">-- We set CondTree's [Dependency] to an empty list, as it</span><span>
</span><span id="line-216"></span><span>    </span><span class="hs-comment">-- is not pretty printed anyway.</span><span>
</span><span id="line-217"></span><span>    </span><span id="local-6989586621679701264"><span class="annot"><span class="annottext">mkCondTree :: a -&gt; CondTree v [a] a
</span><a href="#local-6989586621679701264"><span class="hs-identifier hs-var hs-var">mkCondTree</span></a></span></span><span>  </span><span id="local-6989586621679701250"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679701250"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">a -&gt; [a] -&gt; [CondBranch v [a] a] -&gt; CondTree v [a] a
forall v c a. a -&gt; c -&gt; [CondBranch v c a] -&gt; CondTree v c a
</span><a href="Distribution.Types.CondTree.html#CondNode"><span class="hs-identifier hs-var">CondNode</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679701250"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-218"></span><span>    </span><span id="local-6989586621679701261"><span class="annot"><span class="annottext">mkCondTreeL :: Library -&gt; (UnqualComponentName, CondTree v [a] Library)
</span><a href="#local-6989586621679701261"><span class="hs-identifier hs-var hs-var">mkCondTreeL</span></a></span></span><span> </span><span id="local-6989586621679701249"><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679701249"><span class="hs-identifier hs-var">l</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">UnqualComponentName
-&gt; Maybe UnqualComponentName -&gt; UnqualComponentName
forall a. a -&gt; Maybe a -&gt; a
</span><a href="../../base/src/Data.Maybe.html#fromMaybe"><span class="hs-identifier hs-var">fromMaybe</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; UnqualComponentName
</span><a href="Distribution.Types.UnqualComponentName.html#mkUnqualComponentName"><span class="hs-identifier hs-var">mkUnqualComponentName</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;&quot;</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">LibraryName -&gt; Maybe UnqualComponentName
</span><a href="Distribution.Types.LibraryName.html#libraryNameString"><span class="hs-identifier hs-var">libraryNameString</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Library -&gt; LibraryName
</span><a href="Distribution.Types.Library.html#libName"><span class="hs-identifier hs-var hs-var">libName</span></a></span><span> </span><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679701249"><span class="hs-identifier hs-var">l</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Library
-&gt; [a] -&gt; [CondBranch v [a] Library] -&gt; CondTree v [a] Library
forall v c a. a -&gt; c -&gt; [CondBranch v c a] -&gt; CondTree v c a
</span><a href="Distribution.Types.CondTree.html#CondNode"><span class="hs-identifier hs-var">CondNode</span></a></span><span> </span><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679701249"><span class="hs-identifier hs-var">l</span></a></span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span class="hs-special">)</span><span>
</span><span id="line-219"></span><span>
</span><span id="line-220"></span><span>    </span><span id="local-6989586621679701777"><span class="annot"><a href="#local-6989586621679701259"><span class="hs-identifier hs-type">mkCondTree'</span></a></span><span>
</span><span id="line-221"></span><span>        </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679701777"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.UnqualComponentName.html#UnqualComponentName"><span class="hs-identifier hs-type">UnqualComponentName</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-222"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679701777"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.UnqualComponentName.html#UnqualComponentName"><span class="hs-identifier hs-type">UnqualComponentName</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Types.CondTree.html#CondTree"><span class="hs-identifier hs-type">CondTree</span></a></span><span> </span><span class="annot"><a href="Distribution.Types.ConfVar.html#ConfVar"><span class="hs-identifier hs-type">ConfVar</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Distribution.Types.Dependency.html#Dependency"><span class="hs-identifier hs-type">Dependency</span></a></span><span class="hs-special">]</span><span> </span><span class="annot"><a href="#local-6989586621679701777"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span></span><span>
</span><span id="line-223"></span><span>    </span><span id="local-6989586621679701259"><span class="annot"><span class="annottext">mkCondTree' :: forall a.
(a -&gt; UnqualComponentName)
-&gt; a -&gt; (UnqualComponentName, CondTree ConfVar [Dependency] a)
</span><a href="#local-6989586621679701259"><span class="hs-identifier hs-var hs-var">mkCondTree'</span></a></span></span><span> </span><span id="local-6989586621679701244"><span class="annot"><span class="annottext">a -&gt; UnqualComponentName
</span><a href="#local-6989586621679701244"><span class="hs-identifier hs-var">f</span></a></span></span><span> </span><span id="local-6989586621679701243"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679701243"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a -&gt; UnqualComponentName
</span><a href="#local-6989586621679701244"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679701243"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">a
-&gt; [Dependency]
-&gt; [CondBranch ConfVar [Dependency] a]
-&gt; CondTree ConfVar [Dependency] a
forall v c a. a -&gt; c -&gt; [CondBranch v c a] -&gt; CondTree v c a
</span><a href="Distribution.Types.CondTree.html#CondNode"><span class="hs-identifier hs-var">CondNode</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679701243"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span class="hs-special">)</span><span>
</span><span id="line-224"></span><span>
</span><span id="line-225"></span><span class="hs-comment">-------------------------------------------------------------------------------</span><span>
</span><span id="line-226"></span><span class="hs-comment">-- Internal libs</span><span>
</span><span id="line-227"></span><span class="hs-comment">-------------------------------------------------------------------------------</span><span>
</span><span id="line-228"></span><span>
</span><span id="line-229"></span><span class="hs-comment">-- See Note [Dependencies on sublibraries] in Distribution.PackageDescription.Parsec</span><span>
</span><span id="line-230"></span><span class="hs-comment">--</span><span>
</span><span id="line-231"></span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#preProcessInternalDeps"><span class="hs-identifier hs-type">preProcessInternalDeps</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.CabalSpecVersion.html#CabalSpecVersion"><span class="hs-identifier hs-type">CabalSpecVersion</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.GenericPackageDescription.html#GenericPackageDescription"><span class="hs-identifier hs-type">GenericPackageDescription</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.GenericPackageDescription.html#GenericPackageDescription"><span class="hs-identifier hs-type">GenericPackageDescription</span></a></span><span>
</span><span id="line-232"></span><span id="preProcessInternalDeps"><span class="annot"><span class="annottext">preProcessInternalDeps :: CabalSpecVersion
-&gt; GenericPackageDescription -&gt; GenericPackageDescription
</span><a href="Distribution.PackageDescription.PrettyPrint.html#preProcessInternalDeps"><span class="hs-identifier hs-var hs-var">preProcessInternalDeps</span></a></span></span><span> </span><span id="local-6989586621679701242"><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="#local-6989586621679701242"><span class="hs-identifier hs-var">specVer</span></a></span></span><span> </span><span id="local-6989586621679701241"><span class="annot"><span class="annottext">GenericPackageDescription
</span><a href="#local-6989586621679701241"><span class="hs-identifier hs-var">gpd</span></a></span></span><span>
</span><span id="line-233"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="#local-6989586621679701242"><span class="hs-identifier hs-var">specVer</span></a></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion -&gt; CabalSpecVersion -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">&gt;=</span></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="Distribution.CabalSpecVersion.html#CabalSpecV3_4"><span class="hs-identifier hs-var">CabalSpecV3_4</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">GenericPackageDescription
</span><a href="#local-6989586621679701241"><span class="hs-identifier hs-var">gpd</span></a></span><span>
</span><span id="line-234"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>                </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(BuildInfo -&gt; BuildInfo)
-&gt; (SetupBuildInfo -&gt; SetupBuildInfo)
-&gt; GenericPackageDescription
-&gt; GenericPackageDescription
</span><a href="Distribution.PackageDescription.Configuration.html#transformAllBuildInfos"><span class="hs-identifier hs-var">transformAllBuildInfos</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo -&gt; BuildInfo
</span><a href="#local-6989586621679701239"><span class="hs-identifier hs-var">transformBI</span></a></span><span> </span><span class="annot"><span class="annottext">SetupBuildInfo -&gt; SetupBuildInfo
</span><a href="#local-6989586621679701238"><span class="hs-identifier hs-var">transformSBI</span></a></span><span> </span><span class="annot"><span class="annottext">GenericPackageDescription
</span><a href="#local-6989586621679701241"><span class="hs-identifier hs-var">gpd</span></a></span><span>
</span><span id="line-235"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-236"></span><span>    </span><span class="annot"><a href="#local-6989586621679701239"><span class="hs-identifier hs-type">transformBI</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.BuildInfo.html#BuildInfo"><span class="hs-identifier hs-type">BuildInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.BuildInfo.html#BuildInfo"><span class="hs-identifier hs-type">BuildInfo</span></a></span><span>
</span><span id="line-237"></span><span>    </span><span id="local-6989586621679701239"><span class="annot"><span class="annottext">transformBI :: BuildInfo -&gt; BuildInfo
</span><a href="#local-6989586621679701239"><span class="hs-identifier hs-var hs-var">transformBI</span></a></span></span><span>
</span><span id="line-238"></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ASetter BuildInfo BuildInfo [Dependency] [Dependency]
-&gt; ([Dependency] -&gt; [Dependency]) -&gt; BuildInfo -&gt; BuildInfo
forall s t a b. ASetter s t a b -&gt; (a -&gt; b) -&gt; s -&gt; t
</span><a href="Distribution.Compat.Lens.html#over"><span class="hs-identifier hs-var">over</span></a></span><span> </span><span class="annot"><span class="annottext">ASetter BuildInfo BuildInfo [Dependency] [Dependency]
forall a. HasBuildInfo a =&gt; Lens' a [Dependency]
</span><a href="Distribution.Types.BuildInfo.Lens.html#targetBuildDepends"><span class="hs-identifier hs-var">L.targetBuildDepends</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(Dependency -&gt; [Dependency]) -&gt; [Dependency] -&gt; [Dependency]
forall (t :: * -&gt; *) a b. Foldable t =&gt; (a -&gt; [b]) -&gt; t a -&gt; [b]
</span><a href="../../base/src/Data.Foldable.html#concatMap"><span class="hs-identifier hs-var">concatMap</span></a></span><span> </span><span class="annot"><span class="annottext">Dependency -&gt; [Dependency]
</span><a href="#local-6989586621679701235"><span class="hs-identifier hs-var">transformD</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-239"></span><span>        </span><span class="annot"><span class="annottext">(BuildInfo -&gt; BuildInfo)
-&gt; (BuildInfo -&gt; BuildInfo) -&gt; BuildInfo -&gt; BuildInfo
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">ASetter BuildInfo BuildInfo [Mixin] [Mixin]
-&gt; ([Mixin] -&gt; [Mixin]) -&gt; BuildInfo -&gt; BuildInfo
forall s t a b. ASetter s t a b -&gt; (a -&gt; b) -&gt; s -&gt; t
</span><a href="Distribution.Compat.Lens.html#over"><span class="hs-identifier hs-var">over</span></a></span><span> </span><span class="annot"><span class="annottext">ASetter BuildInfo BuildInfo [Mixin] [Mixin]
forall a. HasBuildInfo a =&gt; Lens' a [Mixin]
</span><a href="Distribution.Types.BuildInfo.Lens.html#mixins"><span class="hs-identifier hs-var">L.mixins</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(Mixin -&gt; Mixin) -&gt; [Mixin] -&gt; [Mixin]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">Mixin -&gt; Mixin
</span><a href="#local-6989586621679701233"><span class="hs-identifier hs-var">transformM</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-240"></span><span>
</span><span id="line-241"></span><span>    </span><span class="annot"><a href="#local-6989586621679701238"><span class="hs-identifier hs-type">transformSBI</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.SetupBuildInfo.html#SetupBuildInfo"><span class="hs-identifier hs-type">SetupBuildInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.SetupBuildInfo.html#SetupBuildInfo"><span class="hs-identifier hs-type">SetupBuildInfo</span></a></span><span>
</span><span id="line-242"></span><span>    </span><span id="local-6989586621679701238"><span class="annot"><span class="annottext">transformSBI :: SetupBuildInfo -&gt; SetupBuildInfo
</span><a href="#local-6989586621679701238"><span class="hs-identifier hs-var hs-var">transformSBI</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ASetter SetupBuildInfo SetupBuildInfo [Dependency] [Dependency]
-&gt; ([Dependency] -&gt; [Dependency])
-&gt; SetupBuildInfo
-&gt; SetupBuildInfo
forall s t a b. ASetter s t a b -&gt; (a -&gt; b) -&gt; s -&gt; t
</span><a href="Distribution.Compat.Lens.html#over"><span class="hs-identifier hs-var">over</span></a></span><span> </span><span class="annot"><span class="annottext">ASetter SetupBuildInfo SetupBuildInfo [Dependency] [Dependency]
Lens' SetupBuildInfo [Dependency]
</span><a href="Distribution.Types.SetupBuildInfo.Lens.html#setupDepends"><span class="hs-identifier hs-var">L.setupDepends</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(Dependency -&gt; [Dependency]) -&gt; [Dependency] -&gt; [Dependency]
forall (t :: * -&gt; *) a b. Foldable t =&gt; (a -&gt; [b]) -&gt; t a -&gt; [b]
</span><a href="../../base/src/Data.Foldable.html#concatMap"><span class="hs-identifier hs-var">concatMap</span></a></span><span> </span><span class="annot"><span class="annottext">Dependency -&gt; [Dependency]
</span><a href="#local-6989586621679701235"><span class="hs-identifier hs-var">transformD</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-243"></span><span>
</span><span id="line-244"></span><span>    </span><span class="annot"><a href="#local-6989586621679701235"><span class="hs-identifier hs-type">transformD</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.Dependency.html#Dependency"><span class="hs-identifier hs-type">Dependency</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Distribution.Types.Dependency.html#Dependency"><span class="hs-identifier hs-type">Dependency</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-245"></span><span>    </span><span id="local-6989586621679701235"><span class="annot"><span class="annottext">transformD :: Dependency -&gt; [Dependency]
</span><a href="#local-6989586621679701235"><span class="hs-identifier hs-var hs-var">transformD</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.Dependency.html#Dependency"><span class="hs-identifier hs-type">Dependency</span></a></span><span> </span><span id="local-6989586621679701230"><span class="annot"><span class="annottext">PackageName
</span><a href="#local-6989586621679701230"><span class="hs-identifier hs-var">pn</span></a></span></span><span> </span><span id="local-6989586621679701229"><span class="annot"><span class="annottext">VersionRange
</span><a href="#local-6989586621679701229"><span class="hs-identifier hs-var">vr</span></a></span></span><span> </span><span id="local-6989586621679701228"><span class="annot"><span class="annottext">NonEmptySet LibraryName
</span><a href="#local-6989586621679701228"><span class="hs-identifier hs-var">ln</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-246"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">PackageName
</span><a href="#local-6989586621679701230"><span class="hs-identifier hs-var">pn</span></a></span><span> </span><span class="annot"><span class="annottext">PackageName -&gt; PackageName -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">==</span></span><span> </span><span class="annot"><span class="annottext">PackageName
</span><a href="#local-6989586621679701227"><span class="hs-identifier hs-var">thisPn</span></a></span><span>
</span><span id="line-247"></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">LibraryName
</span><a href="Distribution.Types.LibraryName.html#LMainLibName"><span class="hs-identifier hs-var">LMainLibName</span></a></span><span> </span><span class="annot"><span class="annottext">LibraryName -&gt; NonEmptySet LibraryName -&gt; Bool
forall a. Ord a =&gt; a -&gt; NonEmptySet a -&gt; Bool
</span><a href="Distribution.Compat.NonEmptySet.html#member"><span class="hs-operator hs-var">`NES.member`</span></a></span><span> </span><span class="annot"><span class="annottext">NonEmptySet LibraryName
</span><a href="#local-6989586621679701228"><span class="hs-identifier hs-var">ln</span></a></span><span>
</span><span id="line-248"></span><span>          </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">PackageName
-&gt; VersionRange -&gt; NonEmptySet LibraryName -&gt; Dependency
</span><a href="Distribution.Types.Dependency.html#Dependency"><span class="hs-identifier hs-var">Dependency</span></a></span><span> </span><span class="annot"><span class="annottext">PackageName
</span><a href="#local-6989586621679701227"><span class="hs-identifier hs-var">thisPn</span></a></span><span> </span><span class="annot"><span class="annottext">VersionRange
</span><a href="#local-6989586621679701229"><span class="hs-identifier hs-var">vr</span></a></span><span> </span><span class="annot"><span class="annottext">NonEmptySet LibraryName
</span><a href="Distribution.Types.Dependency.html#mainLibSet"><span class="hs-identifier hs-var">mainLibSet</span></a></span><span> </span><span class="annot"><span class="annottext">Dependency -&gt; [Dependency] -&gt; [Dependency]
forall a. a -&gt; [a] -&gt; [a]
</span><span class="hs-glyph hs-var">:</span></span><span> </span><span class="annot"><span class="annottext">[Dependency]
</span><a href="#local-6989586621679701224"><span class="hs-identifier hs-var">sublibs</span></a></span><span>
</span><span id="line-249"></span><span>          </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">[Dependency]
</span><a href="#local-6989586621679701224"><span class="hs-identifier hs-var">sublibs</span></a></span><span>
</span><span id="line-250"></span><span>      </span><span class="hs-keyword">where</span><span>
</span><span id="line-251"></span><span>        </span><span id="local-6989586621679701224"><span class="annot"><span class="annottext">sublibs :: [Dependency]
</span><a href="#local-6989586621679701224"><span class="hs-identifier hs-var hs-var">sublibs</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-252"></span><span>            </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">PackageName
-&gt; VersionRange -&gt; NonEmptySet LibraryName -&gt; Dependency
</span><a href="Distribution.Types.Dependency.html#Dependency"><span class="hs-identifier hs-var">Dependency</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">UnqualComponentName -&gt; PackageName
</span><a href="Distribution.Types.UnqualComponentName.html#unqualComponentNameToPackageName"><span class="hs-identifier hs-var">unqualComponentNameToPackageName</span></a></span><span> </span><span class="annot"><span class="annottext">UnqualComponentName
</span><a href="#local-6989586621679701222"><span class="hs-identifier hs-var">uqn</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">VersionRange
</span><a href="#local-6989586621679701229"><span class="hs-identifier hs-var">vr</span></a></span><span> </span><span class="annot"><span class="annottext">NonEmptySet LibraryName
</span><a href="Distribution.Types.Dependency.html#mainLibSet"><span class="hs-identifier hs-var">mainLibSet</span></a></span><span>
</span><span id="line-253"></span><span>            </span><span class="hs-glyph">|</span><span> </span><span class="annot"><a href="Distribution.Types.LibraryName.html#LSubLibName"><span class="hs-identifier hs-type">LSubLibName</span></a></span><span> </span><span id="local-6989586621679701222"><span class="annot"><span class="annottext">UnqualComponentName
</span><a href="#local-6989586621679701222"><span class="hs-identifier hs-var">uqn</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">NonEmptySet LibraryName -&gt; [LibraryName]
forall a. NonEmptySet a -&gt; [a]
</span><a href="Distribution.Compat.NonEmptySet.html#toList"><span class="hs-identifier hs-var">NES.toList</span></a></span><span> </span><span class="annot"><span class="annottext">NonEmptySet LibraryName
</span><a href="#local-6989586621679701228"><span class="hs-identifier hs-var">ln</span></a></span><span>
</span><span id="line-254"></span><span>            </span><span class="hs-special">]</span><span>
</span><span id="line-255"></span><span>
</span><span id="line-256"></span><span>    </span><span class="annot"><a href="#local-6989586621679701235"><span class="hs-identifier hs-var">transformD</span></a></span><span> </span><span id="local-6989586621679701220"><span class="annot"><span class="annottext">Dependency
</span><a href="#local-6989586621679701220"><span class="hs-identifier hs-var">d</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Dependency
</span><a href="#local-6989586621679701220"><span class="hs-identifier hs-var">d</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-257"></span><span>
</span><span id="line-258"></span><span>    </span><span class="annot"><a href="#local-6989586621679701233"><span class="hs-identifier hs-type">transformM</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.Mixin.html#Mixin"><span class="hs-identifier hs-type">Mixin</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.Mixin.html#Mixin"><span class="hs-identifier hs-type">Mixin</span></a></span><span>
</span><span id="line-259"></span><span>    </span><span id="local-6989586621679701233"><span class="annot"><span class="annottext">transformM :: Mixin -&gt; Mixin
</span><a href="#local-6989586621679701233"><span class="hs-identifier hs-var hs-var">transformM</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.Mixin.html#Mixin"><span class="hs-identifier hs-type">Mixin</span></a></span><span> </span><span id="local-6989586621679701218"><span class="annot"><span class="annottext">PackageName
</span><a href="#local-6989586621679701218"><span class="hs-identifier hs-var">pn</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.LibraryName.html#LSubLibName"><span class="hs-identifier hs-type">LSubLibName</span></a></span><span> </span><span id="local-6989586621679701217"><span class="annot"><span class="annottext">UnqualComponentName
</span><a href="#local-6989586621679701217"><span class="hs-identifier hs-var">uqn</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679701216"><span class="annot"><span class="annottext">IncludeRenaming
</span><a href="#local-6989586621679701216"><span class="hs-identifier hs-var">inc</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-260"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">PackageName
</span><a href="#local-6989586621679701218"><span class="hs-identifier hs-var">pn</span></a></span><span> </span><span class="annot"><span class="annottext">PackageName -&gt; PackageName -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">==</span></span><span> </span><span class="annot"><span class="annottext">PackageName
</span><a href="#local-6989586621679701227"><span class="hs-identifier hs-var">thisPn</span></a></span><span>
</span><span id="line-261"></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageName -&gt; LibraryName -&gt; IncludeRenaming -&gt; Mixin
</span><a href="Distribution.Types.Mixin.html#mkMixin"><span class="hs-identifier hs-var">mkMixin</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">UnqualComponentName -&gt; PackageName
</span><a href="Distribution.Types.UnqualComponentName.html#unqualComponentNameToPackageName"><span class="hs-identifier hs-var">unqualComponentNameToPackageName</span></a></span><span> </span><span class="annot"><span class="annottext">UnqualComponentName
</span><a href="#local-6989586621679701217"><span class="hs-identifier hs-var">uqn</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">LibraryName
</span><a href="Distribution.Types.LibraryName.html#LMainLibName"><span class="hs-identifier hs-var">LMainLibName</span></a></span><span> </span><span class="annot"><span class="annottext">IncludeRenaming
</span><a href="#local-6989586621679701216"><span class="hs-identifier hs-var">inc</span></a></span><span>
</span><span id="line-262"></span><span>    </span><span class="annot"><a href="#local-6989586621679701233"><span class="hs-identifier hs-var">transformM</span></a></span><span> </span><span id="local-6989586621679701215"><span class="annot"><span class="annottext">Mixin
</span><a href="#local-6989586621679701215"><span class="hs-identifier hs-var">m</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Mixin
</span><a href="#local-6989586621679701215"><span class="hs-identifier hs-var">m</span></a></span><span>
</span><span id="line-263"></span><span>
</span><span id="line-264"></span><span>    </span><span class="annot"><a href="#local-6989586621679701227"><span class="hs-identifier hs-type">thisPn</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.PackageName.html#PackageName"><span class="hs-identifier hs-type">PackageName</span></a></span><span>
</span><span id="line-265"></span><span>    </span><span id="local-6989586621679701227"><span class="annot"><span class="annottext">thisPn :: PackageName
</span><a href="#local-6989586621679701227"><span class="hs-identifier hs-var hs-var">thisPn</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageIdentifier -&gt; PackageName
</span><a href="Distribution.Types.PackageId.html#pkgName"><span class="hs-identifier hs-var hs-var">pkgName</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; PackageIdentifier
</span><a href="Distribution.Types.PackageDescription.html#package"><span class="hs-identifier hs-var hs-var">package</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">GenericPackageDescription -&gt; PackageDescription
</span><a href="Distribution.Types.GenericPackageDescription.html#packageDescription"><span class="hs-identifier hs-var hs-var">packageDescription</span></a></span><span> </span><span class="annot"><span class="annottext">GenericPackageDescription
</span><a href="#local-6989586621679701241"><span class="hs-identifier hs-var">gpd</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-266"></span><span>
</span><span id="line-267"></span><span class="hs-comment">-------------------------------------------------------------------------------</span><span>
</span><span id="line-268"></span><span class="hs-comment">-- HookedBuildInfo</span><span>
</span><span id="line-269"></span><span class="hs-comment">-------------------------------------------------------------------------------</span><span>
</span><span id="line-270"></span><span>
</span><span id="line-271"></span><span class="hs-comment">-- | @since 2.0.0.2</span><span>
</span><span id="line-272"></span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#writeHookedBuildInfo"><span class="hs-identifier hs-type">writeHookedBuildInfo</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.HookedBuildInfo.html#HookedBuildInfo"><span class="hs-identifier hs-type">HookedBuildInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-273"></span><span id="writeHookedBuildInfo"><span class="annot"><span class="annottext">writeHookedBuildInfo :: String -&gt; HookedBuildInfo -&gt; IO ()
</span><a href="Distribution.PackageDescription.PrettyPrint.html#writeHookedBuildInfo"><span class="hs-identifier hs-var hs-var">writeHookedBuildInfo</span></a></span></span><span> </span><span id="local-6989586621679701212"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679701212"><span class="hs-identifier hs-var">fpath</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; ByteString -&gt; IO ()
</span><a href="Distribution.Utils.Generic.html#writeFileAtomic"><span class="hs-identifier hs-var">writeFileAtomic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679701212"><span class="hs-identifier hs-var">fpath</span></a></span><span> </span><span class="annot"><span class="annottext">(ByteString -&gt; IO ())
-&gt; (HookedBuildInfo -&gt; ByteString) -&gt; HookedBuildInfo -&gt; IO ()
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; ByteString
</span><a href="../../bytestring/src/Data.ByteString.Lazy.Char8.html#pack"><span class="hs-identifier hs-var">BS.Char8.pack</span></a></span><span>
</span><span id="line-274"></span><span>                             </span><span class="annot"><span class="annottext">(String -&gt; ByteString)
-&gt; (HookedBuildInfo -&gt; String) -&gt; HookedBuildInfo -&gt; ByteString
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">HookedBuildInfo -&gt; String
</span><a href="Distribution.PackageDescription.PrettyPrint.html#showHookedBuildInfo"><span class="hs-identifier hs-var">showHookedBuildInfo</span></a></span><span>
</span><span id="line-275"></span><span>
</span><span id="line-276"></span><span class="hs-comment">-- | @since 2.0.0.2</span><span>
</span><span id="line-277"></span><span class="annot"><a href="Distribution.PackageDescription.PrettyPrint.html#showHookedBuildInfo"><span class="hs-identifier hs-type">showHookedBuildInfo</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.HookedBuildInfo.html#HookedBuildInfo"><span class="hs-identifier hs-type">HookedBuildInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-278"></span><span id="showHookedBuildInfo"><span class="annot"><span class="annottext">showHookedBuildInfo :: HookedBuildInfo -&gt; String
</span><a href="Distribution.PackageDescription.PrettyPrint.html#showHookedBuildInfo"><span class="hs-identifier hs-var hs-var">showHookedBuildInfo</span></a></span></span><span> </span><span class="hs-special">(</span><span id="local-6989586621679701210"><span class="annot"><span class="annottext">Maybe BuildInfo
</span><a href="#local-6989586621679701210"><span class="hs-identifier hs-var">mb_lib_bi</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679701209"><span class="annot"><span class="annottext">[(UnqualComponentName, BuildInfo)]
</span><a href="#local-6989586621679701209"><span class="hs-identifier hs-var">ex_bis</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(() -&gt; [String]) -&gt; [PrettyField ()] -&gt; String
forall ann. (ann -&gt; [String]) -&gt; [PrettyField ann] -&gt; String
</span><a href="Distribution.Fields.Pretty.html#showFields"><span class="hs-identifier hs-var">showFields</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[String] -&gt; () -&gt; [String]
forall a b. a -&gt; b -&gt; a
</span><a href="../../base/src/GHC.Base.html#const"><span class="hs-identifier hs-var">const</span></a></span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">([PrettyField ()] -&gt; String) -&gt; [PrettyField ()] -&gt; String
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span>
</span><span id="line-279"></span><span>    </span><span class="annot"><span class="annottext">[PrettyField ()]
-&gt; (BuildInfo -&gt; [PrettyField ()])
-&gt; Maybe BuildInfo
-&gt; [PrettyField ()]
forall b a. b -&gt; (a -&gt; b) -&gt; Maybe a -&gt; b
</span><a href="../../base/src/Data.Maybe.html#maybe"><span class="hs-identifier hs-var">maybe</span></a></span><span> </span><span class="annot"><span class="annottext">[PrettyField ()]
forall a. Monoid a =&gt; a
</span><a href="../../base/src/GHC.Base.html#mempty"><span class="hs-identifier hs-var">mempty</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">CabalSpecVersion
-&gt; PrettyFieldGrammar BuildInfo BuildInfo
-&gt; BuildInfo
-&gt; [PrettyField ()]
forall s a.
CabalSpecVersion -&gt; PrettyFieldGrammar s a -&gt; s -&gt; [PrettyField ()]
</span><a href="Distribution.FieldGrammar.Pretty.html#prettyFieldGrammar"><span class="hs-identifier hs-var">prettyFieldGrammar</span></a></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="Distribution.CabalSpecVersion.html#cabalSpecLatest"><span class="hs-identifier hs-var">cabalSpecLatest</span></a></span><span> </span><span class="annot"><span class="annottext">PrettyFieldGrammar BuildInfo BuildInfo
forall (c :: * -&gt; Constraint) (g :: * -&gt; * -&gt; *).
(FieldGrammar c g, Applicative (g BuildInfo),
 c (List CommaFSep (Identity ExeDependency) ExeDependency),
 c (List
      CommaFSep (Identity LegacyExeDependency) LegacyExeDependency),
 c (List
      CommaFSep (Identity PkgconfigDependency) PkgconfigDependency),
 c (List CommaVCat (Identity Dependency) Dependency),
 c (List CommaVCat (Identity Mixin) Mixin),
 c (List FSep (MQuoted Extension) Extension),
 c (List FSep (MQuoted Language) Language),
 c (List FSep FilePathNT String), c (List FSep Token String),
 c (List NoCommaFSep Token' String),
 c (List VCat (MQuoted ModuleName) ModuleName),
 c (List VCat FilePathNT String), c (List VCat Token String),
 c (MQuoted Language)) =&gt;
g BuildInfo BuildInfo
</span><a href="Distribution.PackageDescription.FieldGrammar.html#buildInfoFieldGrammar"><span class="hs-identifier hs-var">buildInfoFieldGrammar</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Maybe BuildInfo
</span><a href="#local-6989586621679701210"><span class="hs-identifier hs-var">mb_lib_bi</span></a></span><span> </span><span class="annot"><span class="annottext">[PrettyField ()] -&gt; [PrettyField ()] -&gt; [PrettyField ()]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-280"></span><span>    </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">() -&gt; FieldName -&gt; [Doc] -&gt; [PrettyField ()] -&gt; PrettyField ()
forall ann.
ann -&gt; FieldName -&gt; [Doc] -&gt; [PrettyField ann] -&gt; PrettyField ann
</span><a href="Distribution.Fields.Pretty.html#PrettySection"><span class="hs-identifier hs-var">PrettySection</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">FieldName
</span><span class="hs-string">&quot;executable:&quot;</span></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">UnqualComponentName -&gt; Doc
forall a. Pretty a =&gt; a -&gt; Doc
</span><a href="Distribution.Pretty.html#pretty"><span class="hs-identifier hs-var">pretty</span></a></span><span> </span><span class="annot"><span class="annottext">UnqualComponentName
</span><a href="#local-6989586621679701206"><span class="hs-identifier hs-var">name</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-281"></span><span>    </span><span class="annot"><span class="annottext">([PrettyField ()] -&gt; PrettyField ())
-&gt; [PrettyField ()] -&gt; PrettyField ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
-&gt; PrettyFieldGrammar BuildInfo BuildInfo
-&gt; BuildInfo
-&gt; [PrettyField ()]
forall s a.
CabalSpecVersion -&gt; PrettyFieldGrammar s a -&gt; s -&gt; [PrettyField ()]
</span><a href="Distribution.FieldGrammar.Pretty.html#prettyFieldGrammar"><span class="hs-identifier hs-var">prettyFieldGrammar</span></a></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="Distribution.CabalSpecVersion.html#cabalSpecLatest"><span class="hs-identifier hs-var">cabalSpecLatest</span></a></span><span> </span><span class="annot"><span class="annottext">PrettyFieldGrammar BuildInfo BuildInfo
forall (c :: * -&gt; Constraint) (g :: * -&gt; * -&gt; *).
(FieldGrammar c g, Applicative (g BuildInfo),
 c (List CommaFSep (Identity ExeDependency) ExeDependency),
 c (List
      CommaFSep (Identity LegacyExeDependency) LegacyExeDependency),
 c (List
      CommaFSep (Identity PkgconfigDependency) PkgconfigDependency),
 c (List CommaVCat (Identity Dependency) Dependency),
 c (List CommaVCat (Identity Mixin) Mixin),
 c (List FSep (MQuoted Extension) Extension),
 c (List FSep (MQuoted Language) Language),
 c (List FSep FilePathNT String), c (List FSep Token String),
 c (List NoCommaFSep Token' String),
 c (List VCat (MQuoted ModuleName) ModuleName),
 c (List VCat FilePathNT String), c (List VCat Token String),
 c (MQuoted Language)) =&gt;
g BuildInfo BuildInfo
</span><a href="Distribution.PackageDescription.FieldGrammar.html#buildInfoFieldGrammar"><span class="hs-identifier hs-var">buildInfoFieldGrammar</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679701205"><span class="hs-identifier hs-var">bi</span></a></span><span>
</span><span id="line-282"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span class="hs-special">(</span><span id="local-6989586621679701206"><span class="annot"><span class="annottext">UnqualComponentName
</span><a href="#local-6989586621679701206"><span class="hs-identifier hs-var">name</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679701205"><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679701205"><span class="hs-identifier hs-var">bi</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">[(UnqualComponentName, BuildInfo)]
</span><a href="#local-6989586621679701209"><span class="hs-identifier hs-var">ex_bis</span></a></span><span>
</span><span id="line-283"></span><span>    </span><span class="hs-special">]</span><span>
</span><span id="line-284"></span></pre></body></html>